黑马程序员----组合设计模式

[align=center][size=medium][b]组合设计模式[/b] [/size][/align]
[align=center]---------------------- [url=http://edu.csdn.net/heima]android培训[/url]、[url=http://edu.csdn.net/heima]java培训[/url]、期待与您交流! ---------------------- [/align]
1.什么时候用组合设计模式
如果在设计一个类的时候, 需要另外一个类的方法时, 就可以使用组合设计模式
2.组合设计模式的写法
在当前类中定义一个被组合类的引用
通过构造函数组合
在需要使用被组合类的方法时, 通过成员变量调用
3.组合设计模式的优点
使用继承也可以访问其他类的方法, 但是会占用Java中唯一的一个继承位置, 组合则不用
使用组合设计模式构造函数中的形参可以定义为一个父类类型, 所有子类对象都可以传入, 让程序变得更为灵活
对应代码:
class CompositePattern
{
public static void main(String[] args)
{
Person p = new Person(new Card());
p.eat();
}
}

class Person
{
private Card card;
Person(Card card)
{
this.card = card;
}
void eat()
{
//Card card = new Card();
//card.shuaka();
card.shuaKa();
System.out.println("吃饭");
}


}

class Card
{
void shuaKa()
{
System.out.println("刷卡");
}
}

class XiongYong extends Card
{
void shuaKa()
{
System.out.println("先刷卡");
}

}


[align=center]---------------------- [url=http://edu.csdn.net/heima]android培训[/url]、[url=http://edu.csdn.net/heima]java培训[/url]、期待与您交流! ---------------------- 详细请查看:[url=http://edu.csdn.net/heima]http://edu.csdn.net/heima[/url][/align]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值