多态
对象的多态性:
class 动物
{}
class 猫 extends 动物
{}
class 狗 extends 动物
猫 x = new 猫();
动物 x = new 猫(); //一个对象,两种形态。
猫这类事物即具备猫的形态,又具备着动物的形态。这就是对象的多态性。
简单说,就是一个对象对应着不同的类型。
多态在代码中的体现:
父类或者接口的引用指向其子类的对象。
多态的好处:
提高了代码的扩展性,前期定义的代码可以使用后期的内容。
多态的敝端:
前期定义的内容不能使用(调用)后期子类的特色内容。
多态的前提:
必须有关系,继承,实现
要有覆盖。
package com.aoboco.com;
abstract class Animal
{
abstract void eat();
}
class Dog extends Animal
{
void eat()
{
System.out.println("啃骨头!");
}
void lookhome()
{
System.out.println("看门!");
}
}
class Cat extends Animal
{
void eat()
{
System.out.println("吃鱼!");
}
void catchMouse()
{
System.out.println("抓老鼠");
}
}
class Pig extends Animal
{
void eat()
{
System.out.println("饲料");
}
void gongDi()
{
System.out.println("拱地");
}
}
public class DuoTaiDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Cat c = new Cat();
c.eat();
c.catchMouse();
}
}
未完待续
package com.aoboco.seven;
class MainBoard
{
public void run()
{
System.out.println("maiboard run");
}
public void useNetCard(NetCard c)
{
c.open();
c.close();
}
}
class NetCard
{
public void open()
{
System.out.println("netcard open");
}
public void close()
{
System.out.println("netcard close");
}
}
public class DuoTaiDemo5 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
MainBoard mb = new MainBoard();
mb.run();
mb.useNetCard(new NetCard());
}
}
这里写代码片