主人喂养宠物:
分析:主人【类】,主人可以喂养,所以有喂养这个动作。宠物【类】,宠物可以吃东西,所以宠物有吃东西这个动作。
面向对象编程的核心:定义好类,然后将类实例化为对象,给一个环境驱使一下,让各个对象之间协作起来形成一个系统。
多态的作用:降低程序的耦合度,提高程序的扩展力。能使用多态尽量使用多态。父类型引用指向子类型对象。
核心:面向抽象编程,尽量不要面向具体编程。
public class Test {
public static void main(String[] args) {
Master zl = new Master();
//创建猫对象
Cat c = new Cat();
zl.feed(c);
Dog d = new Dog();
zl.feed(d);
}
public class Master { //主人类面向的是一个抽象的pet,不再是具体的动物
public void feed(Pet pet) {//Pet pet是一个父类型的引用
pet.eat();
}
}
public class Pet {//宠物
public void eat() {
//所以宠物都可以吃东西
}
}
public class Cat extends Pet{
//小猫爱吃鱼
public void eat() {
System.out.println("猫爱吃鱼");
}
}
public class Dog extends Pet {
public void eat() {
System.out.println("小狗在啃骨头");
}
}
}