这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例。 今天要介绍的是,对象之间的"继承"的五种方法。 比如,现在有一个"动物"对象的构造函数。 function Animal(){ this.species = "动物"; } 还有一个"猫"对象的构造函数。 funct ...
分类:
编程语言 时间:
2017-09-02 12:59:26
阅读次数:
220
1,ArrayList集合定义数组时,不需要初始化其大小: 例: ArrayList animalArrayList = new ArrayList(); 但,使用array方法定义数组时: Animal[] animalArrayList2 = new Animal[5]; 2.ArrayList ...
子类对象当成父类对象,只能调用父类的成员,如果子类重写了父类的方法就根据这个引用指向调用子类重写的这个方法(这个方法就是覆盖override)。这个调用过程就称为“动态绑定”。这就是输出 bird eatting...而不是animal eatting...的原因。 ...
分类:
编程语言 时间:
2017-08-30 20:03:24
阅读次数:
184
Arbiter Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1332 Accepted Submission(s): 664 Proble ...
分类:
其他好文 时间:
2017-08-26 22:06:43
阅读次数:
229
面向对象的特征一、多态程序在运行的过程中,根据传递的参数的不同,执行不同的函数或者操作不同的代码,这种在运行过程中才确定调用的方式成为运行时多态importabc#多态:同一种事物的多种形态classAnimal:#同一类事物:动物deftalk(self):passclassPeople(Animal):#动物的形态..
分类:
其他好文 时间:
2017-08-25 17:44:50
阅读次数:
166
1.逆变和协变只能用于接口和委托,协变和逆变要声明 in 和out,不声明则不支持逆变和协变 2.List<T>不支持逆变和协变 3.逆变和协变要类型安全,接口的方法 返回类型和参数 要和实现的方法的返回类型和参数相互转换 协变和逆变 IDAL<Animal> dal=new DAL<Dog>(); ...
多态 多态是为了实现接口重用,为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性的正确调用。 python不直接支持多态,可以间接实现。 先看一个小例子: 要实现的效果 Animal.talk(实例) 调用实例里的talk方法。 先添加两个子类 解决方案: ...
分类:
其他好文 时间:
2017-08-25 01:17:06
阅读次数:
120
1.抽象类 1 /** 2 * 所有动物的父类 3 */ 4 public abstract class Animal { 5 6 /** 7 * 定义所有动物共有属性 8 */ 9 private int age; // 年龄 10 private String name; // 姓名 11 12 ...
分类:
其他好文 时间:
2017-08-24 20:04:32
阅读次数:
274
1.封装: 1 /** 2 * 学生类 3 * 4 * 查看父类的信息: 5 * 01.选中类名 F4 6 * 02.shift+alt+s 之后选择 override/implments methods 就会发现当前类所对应的父类 7 * 8 */ 9 public class Student e ...
分类:
其他好文 时间:
2017-08-24 17:59:02
阅读次数:
241
首先给出如下两个构造函数 一、构造函数的绑定 使用apply 将父对象的构造函数绑定在子对象上 在子对象上加apply那一行就可以了 二、prototype 模式 Cat的prototype 对象指向一个Animal的实例,所有猫的实例都能继承Animal 三、直接继承prototype 需要将An ...
分类:
其他好文 时间:
2017-08-24 14:04:59
阅读次数:
188