Java面向对象(OOP)三大特性之多态特性,代码讲解

/**
 * 标题:Java面向对象(OOP)三大特性之多态特性      
 *  作者:Nstar        
 *   时间:2020年3月10日
 * 问:何为Java面向对象多态特性
 * 答:个人看法:首先定义一个抽象类,抽象类里面包括有抽象方法
 *     把抽象类作为基类,也称之为父类
 *     我们可以在子类中对父类的抽象方法进行重写,来满足子类的需求,此过程可以称之为OOP多态特性
 *     也可以多个子类同时对抽象类中的抽象方法进行重写,此操作也是多态
 *     多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。
        此案例的基类中的两个抽象方法满足了D和C类的四种形态*/
abstract class Z{    //定义抽象类,作为基类,方便D和C类进行重写抽象方法,abstract修饰的类为抽象类
    abstract void spek();   //使用abstract关键字定义抽象spek方法,方便子类重写
    abstract void run();   }  // //使用abstract关键字定义抽象run方法,方便子类重写

class D extends Z{     //继承于Z类
    void spek(){      //重写Z类的抽象方法,构成多态
        System.out.println("狗会叫!!!");
        System.out.println("汪汪汪!!!");
    }
    void run(){   //重写Z类的抽象方法,构成多态
        System.out.println("狗会跑!!!");
        System.out.println("狗跑了起来!!!");
    }
}
 class C extends Z{    //继承于Z类
    void spek(){   //重写Z类的抽象方法,构成多态
        System.out.println("猫会叫!!!");
        System.out.println("喵喵喵!!!");
    }
    void run(){    //重写Z类的抽象方法,构成多态
        System.out.println("猫会跑!!!");
        System.out.println("猫跑了起来!!!");
    }
}
public class Test9{
    public static void main(String[] args) {     //程序入口方法
                 D d=new D();       //创建对象,基于D类
                 d.spek();           //通过实例调用方法
                 d.run();             //通过实例调用方法
                 C c=new C();         //创建对象,基于C类
                 c.spek();              //通过实例调用方法
                 c.run();                //通过实例调用方法
            }
        }

发布了13 篇原创文章 · 获赞 0 · 访问量 263

猜你喜欢

转载自blog.csdn.net/ChinaNebula/article/details/104893017