多态
多态
面向对象的三大特性:
封装、继承、多态
多态定义
多态是面向对象编程中的一个核心概念,指的是不同类型的对象对同一消息做出响应时,表现出不同的行为。具体来说,多态允许在不同继承关系的类对象中,调用同一函数时产生不同的行为。
函数重载:
1.函数名相同
2.参数列表不同(参数顺序不同,参数类型不同,参数个数不同)
函数重写
1.类间,要有继承关系
2.要有虚函数
多态的构成结构
1.继承
2.重写
3.父类引用指向子类对象:Parent p = new Child();
当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。
多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。
abstract 抽象类
java中没有虚函数
虚函数
虚函数的存在是为了多态。Java 中其实没有虚函数的概念,它的普通函数就相当于 C++ 的虚函数,动态绑定是Java的默认行为。如果 Java 中不希望某个函数具有虚函数特性,可以加上 final 关键字变成非虚函数。
重写
多态例子
基类:Animal.Java
abstract public class Animal {
public void eat(){
System.out.println("Animal正在吃");
}
public void sleep(){
System.out.println("Animal正在睡");
}
public void introduction() {
System.out.println("大家好!我是Animal" );
}
}
子类:mouse.java
public class mouse extends Animal {
public void eat(){
System.out.println("老鼠正在吃");
}
public void sleep(){
System.out.println("老鼠正在睡");
}
public void introduction() {
System.out.println("大家好!我是老鼠" );
}
}
子类:Penguin.java
public class Penguin extends Animal {
public void eat(){
System.out.println("企鹅正在吃");
}
public void sleep(){
System.out.println("企鹅正在睡");
}
public void introduction() {
System.out.println("大家好!我是企鹅" );
}
}
子类:Main.java
public class Main {
public static void main(String[] args) {
Animal animal=new Penguin();
animal.eat();
}
}

浙公网安备 33010602011771号