黑马程序员-自学第8天-多态
来源:互联网 发布:淘宝开店起名字 编辑:程序博客网 时间:2024/04/26 04:10
---------------------- android培训、java培训、期待与您交流! ----------------------
多态:
多态,字面上理解就是"多种状态",现实生活中有无数多态的例子,比如卡车,小汽车,公车都是汽车这一类事物的多种状态,它们都是汽车的一种,但是它们都有自己特有的运行方式,这就是现实的多态. 在程序设计中,多态就是不同的子类对象接受同一个来自父类的信息的时候执行不同的操作,例如在一个"画图"父类里面定义了画图的基本方法,有两个子类分别是"画三角形"和"画圆",很明显画三角形和画圆形都是画图的不同状态,但是画图这个类不知道要画什么具体的图像,所以只需要发出一个画图的信息,而"画三角形"的子类和"画圆形"的子类接受到同一个信息以后,它们会做出不同的操作,画出不同的图形,这就是多态.
详解:
1. 多态的体现:父类的引用指向自己的子类对象
2. 多态的前提:类与类之间必须有继承或者实现的关系
3. 多态的好处:提高程序的扩展性
4. 多态的弊端:提高了扩展性,但是只能使用父类的引用访问父类中的成员
多态转型:
当父类的引用指向子类对象的时候,此时的子类会自动转型成父类类型
比如:Animala=new Car() //此时Car就自动向上转型
如果要使用子类中特有的方法时,可以把向上转型后的子类强制向下转型成子类类型
比如:Car c=(Car)a; //向下转型,然后再用c.方法名类调用子类特有的方法
多态中成员函数的特点:
在编译时,参阅引用型变量所属的类中是否有调用的方法,如果有,编译通过,如果没有则失败.
在运行时,参阅对象所属的类中是否有调用的方法,如果有,编译通过,如果没有则失败.
简单总结就是:成员函数的多态调用时,编译看左边,运行看右边.
在多态中,成员变量的特点:无论编译和运行,都参考左边(引用型变量所属的类)
在多态中,静态成员函数的特点:
无论编译和运行,都参考左边
---------------------- android培训.java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
- 黑马程序员-自学第8天-多态
- 黑马程序员-自学第2天
- 黑马程序员-自学第3天
- 黑马程序员-自学第4天
- 黑马程序员-自学第5天
- 黑马程序员-自学第6天
- 黑马程序员-自学第7天
- 黑马程序员-----------android自学第一天总结
- 黑马程序员--java自学--第一天
- 黑马程序员--java自学--第三天:
- 黑马程序员——JAVA基础自学第10天——包
- 黑马程序员——自学课程第一天笔记
- 黑马程序员——.NET自学课程第三天笔记
- 黑马程序员 Java自学总结十八 Java高新技术第一天
- 黑马程序员——自学java基础第一天
- 黑马程序员--java自学--第二天:
- 黑马程序员_java基础自学8
- 黑马程序员-自学多线程
- Oracle学习笔记(1)
- Java反射机制详解
- Objective-C学习-查找文件
- Java判断字符是否为数字字符!...
- 各类背包问题
- 黑马程序员-自学第8天-多态
- _T和_L
- 笔记本选购快速入门
- 明晰C++内存分配的五种方法的区别
- ASP.NET中如何获取汉字的拼音
- Oracle学习笔记(2)
- 编程原则:戒虚而务实,谋定而后动
- Android学习第15课—Handler的使用(二)
- 女弓虽-------偶象啊