多态
多态是同一个行为具有多个不同表现形式或形态的能力。
多态性是对象多种表现形式的体现。
多态存在的三个必要条件
1.继承:在多态中必须存在有继承关系的子类和父类。
2.重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
3.父类引用指向子类对象:在多态中需要将子类的引用赋给父类对象,只有这样该引用才既能可以调用父类的方法。
多态的好处
1.可替换性: 多态对已存在代码具有可替换性。
2.可扩充性: 多态对代码具有可扩充性。
3.接口性: 多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
4.灵活性: 它在应用中体现了灵活多样的操作,提高了使用效率。
5.简化性: 多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。
多态代码
package 多态;
public class Dog extends Pet {
private String strain;
public Dog() {
}
public Dog(String name, int health, int love, String strain) {
super(name, health, love);
this.strain = strain;
}
public void display() {
super.show();
System.out.print(",品种:"+strain);
}
public void eat() {
System.out.println("\n狗狗"+super.getName()+"吃骨头!");
}
}
package 多态;
public class Pet {
private String name ;
private int health ;
private int love;
public Pet(String name, int health, int love) {
this.name = name;
this.health = health;
this.love = love;
}
public Pet() {
}
public void show() {
System.out.print("姓名:"+name+",健康值:"+health+",亲密度:"+love);
}