package com.kang.patterndesign.decorator;
/**
* @author klr
* @create 2020-09-28-11:39
*/
public class DecoratorTest {
public static void main(String[] args) {
//對(duì)原有的第一代機(jī)器人進(jìn)行裝飾
new OtherDecorator(new RobotOne()).doMoreThing();
}
}
//機(jī)器人接口
interface Robot {
void doSomething();
}
//第一代機(jī)器人
class RobotOne implements Robot {
@Override
public void doSomething() {
System.out.println("唱歌");
}
}
//使用裝飾器模式,在第一代機(jī)器人身上擴(kuò)展
abstract class RobotDecorator implements Robot {
//組合
private Robot robot;
//使用構(gòu)造器把第一代機(jī)器人傳進(jìn)來(lái)
public RobotDecorator(Robot robot) {
this.robot = robot;
}
@Override
public void doSomething() {
robot.doSomething();
}
public void doMoreThing() {
robot.doSomething();
System.out.println("跳舞");
}
}
class OtherDecorator extends RobotDecorator {
public OtherDecorator(Robot robot) {
super(robot);
}
}
裝飾器模式
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。