指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)。 多态存在的三个必要条件 一、要有继承; 二、要有重写; 三、父类引用指向子类对象。 多态的好处: 1.可替换性(substitutability)。多态对已存在代码具有可替换性 ...
分类:
编程语言 时间:
2017-03-10 00:27:33
阅读次数:
166
abstract定义抽象类 abstract定义抽象方法,只需要声明,不需要实现 包含抽象方法的类是抽象类 抽象类中可以包含抽象方法,也可以包含普通方法 抽象类不能直接创建,可以定义父类引用变量指向子类的对象 子类继承抽象类,必须实现父类中的抽象方法 抽象类的应用场景: 1.父类只知道子类应该包含的 ...
分类:
编程语言 时间:
2017-03-09 13:22:20
阅读次数:
210
设计原则名称 简介 里氏替换原则LSP 任意父类可以出现的地方,子类也可以出现 开闭原则OCP 对扩展开发,对修改关闭 单一职责原则SRP 类的职责单一 依赖倒转原则DIP 针对抽象(或接口)编程,而不针对具体编程 接口隔离原则ISP 使用多个专门接口要优于使用单一的接口 组合聚合原则CRP 优先使 ...
分类:
其他好文 时间:
2017-03-07 16:57:21
阅读次数:
243
Java的多态一直是我们理解的一个难点。在读过《深入理解Java虚拟机》和《Java编程思想》以后,感觉理解更深刻了。 我们知道,当父类引用指向子类对象,并且子类覆盖父类中的接口时,当用父类引用调用此接口,则实际上是调用子类对象中的接口。 其实要理解这一点并不难,首先要明确下面两点: 1. 父类引用 ...
分类:
编程语言 时间:
2017-03-05 12:30:07
阅读次数:
161
php是面向对象的脚本语言,而我们都知道,面向对象的语言具有三大特性:封装,继承,多态。php理应具有这三大特性。 封装是类的构建过程,php具有;php也具有继承的特性。唯独这个多态,php体现的十分模糊。原因是php是弱类型语言。 java的多态体现的十分清晰,大体分两类:父类引用指向子类对象; ...
分类:
Web程序 时间:
2017-02-17 12:40:26
阅读次数:
176
今天主要学习的内容是关于this、继承、多态的理解,并对其作出总结。 1、This 就目前来说,从个人的实验来看,this主要是对于一个类的对象的引用。它出现的位置主要是以它出现的形式决定的。 ①、this(参数类型)这是在在构造方法中调用重写的构造方法。 ②、作为某个类的对象来调用类中属性或方法。 ...
分类:
编程语言 时间:
2017-02-15 00:32:08
阅读次数:
191
子类为了省事就继承父类中的一些东西,,子类如果想把父类的方法改一下就出现了重写,子类想要自立门户也调用自己的东西就出现了多态里面的向下转型,(注意这里使用了也字) 那不将父类的引用指向子类照样可以调用子类里面的东西,为什么那么费事还要向下转型? 因为想要用父类的东西啊,其实直接子类引用指向子类对象也 ...
分类:
其他好文 时间:
2017-02-06 12:51:45
阅读次数:
139
1.简述面向对象的三大特性 答:封装 -- 继承 -- 多态 封装的目的:为了让类更安全 继承的概念:子类可以继承父类的一切 多态的概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同状态。 2.面向对象的接口和类有什么异同 方法一: 答:接口的方 ...
分类:
Web程序 时间:
2017-02-04 21:03:01
阅读次数:
253
1 class Demo1_I{ 2 public static void main(String[] args) { 3 // Iner i = new Iner(); // 抽象类和接口无法实例化 4 Inter i = new Demo(); // 父类引用子类 5 i.print(); //... ...
分类:
其他好文 时间:
2017-01-28 22:04:47
阅读次数:
182
this 和 super 都代表什么 this 代表当前对象的引用,谁来调用我,我就代表谁 super 代表当前对象的父类引用 this 和 super 的区别 调用成员变量 this.成员变量 调用本类的成员变量 也可以调用父类的成员变量 super.成员变量 调用父类的成员变量 调用构造方法 t ...
分类:
其他好文 时间:
2017-01-28 10:04:48
阅读次数:
218