JAVA 多态

 

/*
多态
OOP三大特性:封装、继承、多态
多态:可以理解为事物存在的多种体现形态
例如:
动物:猫,狗,猪
人:男人,女人

1、多态的体现
父类引用指向子类对象

2、多态的前提
    (1)必须得类与类之间存在关系,可以是继承关系,也可以是实现关系
    (2)必须得有重写

3、多态的好处
大大提高了程序的可扩展性    

4、多态的弊端
虽然提高了程序的可扩展性,但只能用父类引用,访问到父类中的成员
    
    
多态成员变量的特点:
1、编译期间:参阅的是引用型变量是否有所属的类中是否有调用的方法
2、运行期间:参阅对象所属的类中是否有调用的方法
*/

//动物
class Animal{
    void sing(){
        System.out.println("唱歌");
    }
}
//
class Dog extends Animal{
    void sing(){
        System.out.println("汪汪的唱歌");
    }
}
//
class Cat extends Animal{
    void sing(){
        System.out.println("喵喵的唱歌");
    }
    void catchMouse(){
        System.out.println("捕鼠");
    }
}
//
class Pig extends Animal{
    void sing(){
        System.out.println("恩恩的唱歌");
    }
}
public class Test{
    public static void main(String[] args){
        Cat c    =    new Cat();
        function(c);
        Dog d    =    new Dog();
        function(d);
        Pig p    =    new Pig();
        function(p);
        
    }
    public static void function(Animal c){
        c.sing();
    }
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。