Java中,组合和继承的区别

来源:互联网 发布:飞鸟淘宝客源码下载 编辑:程序博客网 时间:2024/05/17 07:35

一,组合和继续的区别

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();    }}

运行结果如下:
这里写图片描述

1 0
原创粉丝点击