面向对象多态

简介: 面向对象多态

多态的概念

继承或者接口都是多态性的体现,举例:小明是个学生,它既有学生身份又有人类身份,这就是多太

多态的格式与使用

父类引用指向子类对象

格式:父类名称 对象名 = new 子类名称();

Shix shix = new Ces();
接口名称 对象名 = new 实现类名称();
Jiek jiek = new Shix();


在动态代码中,成员方法访问的规则

new的是谁就先用谁,没有就往上找

编译看左边,运行看右面

对象的向上转型

其实就是多态的写法

父类名称 对象名 = new 子类名称():含义:右侧创建一个子类对象,把他当父类看待

一旦转型就无法访问本类的内容,但是可以向下转型【还原】

向下转型

格式:子类名称 对象名 = (子类名称)父类对象; 含义:将父类对象还原成子类对象

Animal animal = new Cat();
animal.eat();
Cat cat = (Cat) animal;
cat.wgfy();


必须先向上转型了之后在转回去,不能直接转回去

instanceof关键字进行

格式:对象 instanceof 类名称

将会得到一个boolean结果,判断前面的对象能否向下转型

用if语句

相关文章
|
5月前
什么是多态?面向对象中对多态的理解
本文介绍了面向对象编程中的多态概念,包括其定义、优点以及编译时多态和运行时多态的具体实现方式。通过实例展示了函数重载、运算符重载、虚函数、接口和抽象类的应用,帮助读者深入理解多态的灵活性和可扩展性。
427 6
|
5月前
|
存储 编译器 C语言
【C++】初识面向对象:类与对象详解
【C++】初识面向对象:类与对象详解
|
7月前
|
算法 Java 程序员
类和对象 | 面向过程与面向对象的初步认识
类和对象 | 面向过程与面向对象的初步认识
94 5
|
8月前
|
Java 程序员 C++
什么是面向对象编程
【7月更文挑战第17天】什么是面向对象编程
137 2
|
8月前
|
设计模式 测试技术 uml
什么是面向对象编程?
【7月更文挑战第18天】什么是面向对象编程?
98 1
理解面向对象——多态
理解面向对象——多态
110 0
|
10月前
对面向对象编程的理解,面向过程和面向对象有什么区别
对面向对象编程的理解,面向过程和面向对象有什么区别
104 0
面向对象之多态2
面向对象之多态2
65 0

热门文章

最新文章