java 多态_java编程笔记,多态的好处和弊端

测试代码:

1.创建Animal.java类作为父类

2.创建Cat.java类作为Animal的子类

3.创建一个Dog.java类作为Animal的子类

4.创建Test.java测试类

代码说明:多态的好处并不仅仅是 父类引用指向子类对象(Animal animal = new Dog()),这样的话我们不能调用Dog子类中特用的方法和属性,我们在创建对象的时候直接创建子类对象更方便(Dog g = new Dog()),多态真正的好处其实是将父类作为参数在公共的方法中传递,这样只要继承了该父类,所有的子类就可以通过参数的形式将创建的对象传递到方法中。提高了代码的扩展性和维护性。但是这样做,会产生一个弊端,我们无法调用具体子类对象中的方法和属性,所以我们需要对传入的参数进行实例判断(instanceof),并进行向下强转(Dog g =(Dog)animal )。

总结多态的好处和弊端:

多态的好处

  1. 提高代码的维护性(继承保证)
  2. 提高了代码的扩展性(由多态保证)
  3. 可以当做形式参数,可以接收任意子类对象

多态的弊端:

  1. 也就是不能使用子类的特有属性和方法(行为)
测试代码: 1.创建Animal.java类作为父类 2.创建Cat.java类作为Animal的子类 3.创建一个Dog.java类作为Animal的子类 4.创建Test.java测试类 代码说明:多态的好处并不仅仅是 父类引用指向子类对象(Animal animal = new Dog()),这样的话我们不能调用Dog子类中特用的方法和属性,我们在创建对象的时候直接创建子类对象更方便(Dog g = new Dog()),多态真正的好处其实是将父类作为参数在公共的方法中传递,这样只要继承了该父类,所有的子类就可以通过参数的形式将创建的对象传递到方法中。提高了代码的扩展性和维护性。但是这样做,会产生一个弊端,我们无法调用具体子类对象中的方法和属性,所以我们需要对传入的参数进行实例判断(instanceof),并进行向下强转(Dog g =(Dog)animal )。 总结多态的好处和弊端: 多态的好处 提高代码的维护性(继承保证) 提高了代码的扩展性(由多态保证) 可以当做形式参数,可以接收任意子类对象 多态的弊端: 也就是不能使用子类的特有属性和方法(行为)
经验分享 程序员 微信小程序 职场和发展