黑马程序员---多态的理解和应用

来源:互联网 发布:java action 对应哪个 编辑:程序博客网 时间:2024/05/24 15:35

----------------------ASP.Net+Unity开发 Net培训  期待与您交流! ----------------------


前言:

    之前学过一点儿Java,但对多态的理解和应用知之甚少,学习了毕老师的视频之后,让我对多态有了与之前不一样的理解和体会,让我发现Java语言的好处和奥妙。


概念:

    多态:某一事物存在的多种表现形态。

    

理解:

1、体现:父类的引用指向自己的子类对象,也可以接收自己的子类对象。

2、前提:必须是类与类之间有关系。

3、好处:提高了程序的可扩展性。

4、弊处:只能使用父类的引用访问父类中的成员。


自我理解:

    通过老师的各举例,我发现生活中到处都是例子,发现各种语言其实就是描述生活、解决生活中的问题、方便生活用的。再讲到多态上来,多态我认为是为了方便生活、编程实现而出现的,当一个事物出现与之前的事物相似,为了避免总改动之前的事物的代码,要将代码设计时更加的合理,方便以后的使用。


代码:

    

class DuoTai {public static void main(String[] args) {Animal a=new Cat();//多态的表现 类型进行了提升(向上提升)a.eat();Cat c=(Cat)a;//向下转型c.catchMouse();Animal b=new Dog();//多态的表现 类型进行了提升(向上提升)b.eat();Dog d=(Dog)b;//向下转型d.houseKeeping();}}abstract class Animal  //Animal类 抽象类 因为函数eat() 吃什么是不确定的 函数抽象 类也抽象{abstract void eat();}class Cat extends Animal   //Cat类继承了Animal类{public void eat()     //吃鱼方法{    System.out.println("吃鱼");}public void catchMouse()  //抓老鼠方法{    System.out.println("抓老鼠");}}class Dog extends Animal   //Cat类继承了Animal类{public void eat()     //吃骨头方法{    System.out.println("吃骨头");}public void houseKeeping()  //看家方法{    System.out.println("看家");}}
运行结果:

吃鱼

抓老鼠

吃骨头

看家



0 0
原创粉丝点击