java面向对象编程之继承组合



java面向对象编程之继承组合。

java继承和组合比较
相同点:都可以实现代码的复用
不同点:
is-a关系:使用继承
has-a关系:使用组合

java组合实例代码:
使用组合实现前几节课用继承实现的关系:Animal、Mammal、Bird:

package cn.bjsxt.oop.inherit;
/**
* 测试组合
* @author 尚学堂高淇www.bjsxt.cn
*
*/
public class Animal2 {
String eye;
public void run(){
System.out.println(“跑跑!”);
}
public void eat(){
System.out.println(“吃吃!”);
}
public void sleep(){
System.out.println(“zzzzz”);
}
public Animal2(){
super();
System.out.println(“创建一个动物!”);
}

public static void main(String[] args) {
Bird2 b = new Bird2();
b.run();
b.animal2.eat();
}

}
class Mammal2 {
Animal2 animal2=new Animal2();
public void taisheng(){
System.out.println(“我是胎生”);
}
}
class Bird2 {
Animal2 animal2=new Animal2();
public void run(){
animal2.run();
System.out.println(“我是一个小小小小鸟,飞呀飞不高”);
}

public void eggSheng(){
System.out.println(“卵生”);
}

public Bird2(){
super();
System.out.println(“建一个鸟对象”);
}
}