多态是在父类函数的前面加上 “virtual” 关键字,使子类与父类同名的函数产生一种联系; 多态会用到两个特性:向上造型、动态绑定 向上造型是指:拿一个子类对象当作父类来看待,比如下边代码中的子类Eillpce对象ell当作父类Shape对象来看待; 动态绑定:当我要调用一个函数的时候,运行的时候 ...
分类:
编程语言 时间:
2020-01-19 09:14:37
阅读次数:
69
子类的对象可以向上造型为父类的类型。即父类引用子类对象,这种方式被称为向上造型。 在日常生活中,我们都扮演着不一样的角色。我们有可能是老师,有可能是学生,有可能是……, 但是我们都有共同的属性,例如:名字、性别、年龄……,但是在该基础上,不同身份的人也有着属于自己的不同的特点。我们通常描述他人的时候 ...
分类:
编程语言 时间:
2019-07-05 19:27:59
阅读次数:
128
向上造型 意思为 子类引用的对象转换为父类类型 例如 A 是B的父类 A a = new B(); 向上造型后 子类 将不再具备其自己定义的方法,只有父类的方法。但若重写了父类的方法,向上造型的对象的方法为重写后新的方法。 向下造型:父类引用的对象转换为子类类型。但是对于父类的引用对象一定要是由子类 ...
分类:
编程语言 时间:
2018-11-24 18:03:09
阅读次数:
203
1.向上造型: 1)超类型的引用指向派生类的对象 2)能点出来什么,看引用的类型 2.方法的重写(Override):重新写、覆盖 1)发生在父子类中,方法名称相同,参数列表相同,方法体不同 2)重写方法被调用时,看对象的类型 3)遵循"两同两小一大"原则: 了解 3.1)两同: 3.1.1)方法名 ...
分类:
其他好文 时间:
2018-11-15 21:10:56
阅读次数:
187
最近在读java 编程思想,在读多态一章时,遇到了一个问题,在此记录一下。 执行结果: 分析: ...
分类:
编程语言 时间:
2018-09-25 16:35:26
阅读次数:
134
抽象 一、概述 1、 为什么需要抽象 有的时候,多个子类的方法声明相同、方法体不同;这个时候也可以抽取方法声明,不抽取方法体;从而让开发中知道该子类有这个特性,便于维护; 2、抽象类意义 (1)封装子类共有的属性和行为 代码复用 (2)为所有子类提供一种统一的类型 向上造型 (3)为所有子类提供统一 ...
分类:
其他好文 时间:
2018-07-21 18:05:09
阅读次数:
149
多态: 1意义: 1.1同一类型的引用指向不同的对象是,有不同的实现-----行为的多态 1.2同一对象被造型为不同的类型时,有不同的功能--------对象的多态 2向上造型:-----自动类型转换 2.1超类型的引用指向派生类的对象 2.2能造型成为的类型有:超类+所实现的接口 2.3能点出来什么,看引用的类型 3强制类型转换,成功的条件只有如下两种: 3.1引用所指向的对象,就是该类型
分类:
编程语言 时间:
2018-03-02 01:08:41
阅读次数:
168
话不多说,先上源码 程序输出结果:circle.draw() 这个例子在多态的向上造型中很常见了,Painter类中传入的引用类型是父类Shap,这样可以不用写其它形状的paint方法。这里主要是想分享一下think in java中提到的一个方法的绑定概念。 将一个方法调用同一个方法主体连接到一起 ...
分类:
其他好文 时间:
2017-12-09 14:58:48
阅读次数:
197
向上造型能造成什么?超类或者接口都可以 为什么要进行类型转换? 向上造型之后,能点出来的东西变少了,所以要进行向下造型。 小转大,自动类型转换(没有任何问题) 大转小,强制类型转换(可能会有错误) 该引用指向的对象是否是该类型 该引用指向的对象是否实现了该接口 能点出来什么东西,看引用 具体执行哪个 ...
分类:
编程语言 时间:
2017-11-25 00:55:19
阅读次数:
284
转载:总结的不错 class A { } class B extends A { } A a = new A(); B b = new B(); A a1 = b;// 向上造型 B b1 = (B) a1; // 向下造型 B b2 = a; // ClassCastException,a的类型是 ...
分类:
编程语言 时间:
2017-10-09 19:45:32
阅读次数:
282