多态理解及程序

来源:互联网 发布:论文数据造假有人查吗 编辑:程序博客网 时间:2024/04/29 23:43

定义:某一类事物的多种存在形态

体现:父类或者接口的引用指向或者接收自己的子类对象。
作用:多态的存在提高了程序的扩展性和后期可维护性

多态:体现在对象的差异性 父子类之间要继承覆盖
public class DuotaiDemo {
public DuotaiDemo() {
}
public static void method(Animal animal)
{
animal.eat();
animal.run();
animal.roar();
}
public static void main(String[] args) {
/*多态体现代码*/   //特点:同一方法,不同对象输出,产生不能效果
method(new Dog());//自动类型提升
method(new Wolf());
/* 转型体现代码  */
Animal a=new Dog();//自动类型提升,但是特有功能不能访问
a.eat();//a.gentlt(); 不能访问  限制特有功能的访问    专业名词:向上提升
Dog d=(Dog)a;//向下转型  为了使用子类中的特有方法
d.gentle();//可以访问特有功能

}
}
abstract class Animal  //定义一种规则 向上抽取一种抽象的共性
{
abstract void roar();//两个抽象方法,一个具体方法
public void run(){
System.out.println("run");
}
abstract void eat();
}
class Dog extends Animal   //继承 重写覆盖

public void roar()
{
System.out.println("吼叫汪汪");
}
public void eat()
{
System.out.println("吃屎");
}
public void gentle()  //特有属性
{
System.out.println("温和");
}

}
class Wolf extends Animal  //继承 覆盖
{
public void roar()
{
System.out.println("吼叫嗷嗷");
}
public void eat()
{
System.out.println("吃肉");
}
}

0 0
原创粉丝点击