HeadFirst设计模式——如何实现自己的鸭鸣器不继承Duck类?

声明:

  1. 《Head First设计模式》23页提问,如何实现自己的鸭鸣器不继承Duck类?本文解答这个问题。
    如何实现自己的鸭鸣器不继承Duck类

正如该书前面所说,通常【有一个】比【是一个】更好。MallardDuck, RedheadDuck, ModelDuck都是鸭子,所以它们继承了父类Duck,也就继承了父类的属性flyBehavior, quackBehavior和父类的方法display()

鸭鸣器不是鸭子,不继承父类Duck,那么它需要自己在类中定义以上属性和方法。

public class Duckcall {
	FlyBehavior flyBehavior = new FlyNoWay();
	QuackBehavior quackBehavior = new Quack();

	public Duckcall() {}

	public void performFly() {
		flyBehavior.fly()
	}

	public void performQuack() {
		quackBehavior.quack();
	}

	public void display() {
		System.out.println("I'm a 'duck'.")
	}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值