一,组合和继续的区别
1,组合的例子:
import java.util.*; //使用组合的方式实现目标
class Animal{
public void beat()
{
System.out.println("心脏跳动");
}
public void breath(){
beat();
System.out.println("呼吸");
}
}
class Bird{
private Animal a; //定义了一个Animal成员变量,以供组合使用
public Bird(Animal a)
{
this.a=a;
}
public void breath()
{
a.breath();
}
public void fly()
{
System.out.println("鸟在飞");
}
}
class Wolf{
private Animal a;
public Wolf(Animal a)
{
this.a=a;
}
public void breath()
{
a.breath();
}
public void run()
{
System.out.println("我是狼,我在跑");
}
}
public class CompositeTest {
public static void main(String []args)
{
CompositeTest test=new CompositeTest();
Animal a1=new Animal();
Bird bird=new Bird(a1);
bird.breath();
bird.fly();
System.out.println("-------------------------");
Animal a2=new Animal();
Wolf wolf=new Wolf(a2);
wolf.breath();
wolf.run();
}
}
运行结果如下: