package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12. 被裝飾者抽象類
*/public abstract class drink
public void setdes(string des)
public float getprice()
public void setprice(float price)
}
package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12. 中間加了一層,用來統一處理所有種類咖啡公用的方法
*/public class coffee extends drink
}
package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12.
*/public class longblack extends coffee
}
package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12.
*/public class shortblack extends coffee
}
package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12.
*/public class espresso extends coffee
}
package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12.
*/public class decorator extends drink
@override
public float cost()
@override
public string getdes()
}
package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12. 具休的裝飾者類
*/public class milk extends decorator
}
package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12. 具休的裝飾者類
*/public class soy extends decorator
}
package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12. 具休的裝飾者類
*/public class chocolate extends decorator
}
package com.cn.sehjimoshi.adapter;
/** * created by 任星 on 2020/4/12.
*/public class test
}
執行結果
牛奶 1.0 美式咖啡
6.0******************************
牛奶 1.0 牛奶 1.0 美式咖啡
7.0******************************
豆漿 1.5 牛奶 1.0 牛奶 1.0 美式咖啡
8.5process finished with exit code 0
記一次觀察者模式的使用
一 引入 資料同步 把問題簡化為下面7個類 需求 資料在songsubject中的改變,可以通知三個觀察者,並同時更新資料 問題抽離 二 觀察者模式 一對多 一人提供資訊 subject 多人需求資訊 observer 資訊體 t t發生改變時,由subject統一提醒observer 1.介面層 ...
記一次觀察者模式的使用
一 引入 把問題簡化為下面7個類 需求 資料在songsubject中的改變,可以通知三個觀察者,並同時更新資料 二 觀察者模式 一對多 一人提供資訊 subject 多人需求資訊 observer 資訊體 t t發生改變時,由subject統一提醒observer 1.介面層 observer介面...
裝飾者模式簡單示例 一
例項參考於 headfirst設計模式 public abstract class beverage cost必須在子類中實現 public abstract double cost public abstract class condimentdecorator extends beverage ...