`
wmj2003
  • 浏览: 99744 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

设计模式-装饰者模式

阅读更多
  1. publicabstractclassBeverage{
  2. Stringdescription="UnknownBeverage";
  3. publicStringgetDescription(){
  4. returndescription;
  5. }
  6. publicabstractdoublecost();
  7. }
  1. publicabstractclassCondimentDecoratorextendsBeverage{
  2. publicabstractStringgetDescription();
  3. }
  1. publicclassDarkRoastextendsBeverage{
  2. publicDarkRoast(){
  3. description="DarkRoastCoffee";
  4. }
  5. publicdoublecost(){
  6. return.99;
  7. }
  8. }
  1. publicclassMilkextendsCondimentDecorator{ //加牛奶的咖啡
  2. Beveragebeverage;
  3. publicMilk(Beveragebeverage){
  4. this.beverage=beverage;
  5. }
  6. publicStringgetDescription(){
  7. returnbeverage.getDescription()+",Milk";
  8. }
  9. publicdoublecost(){
  10. return.10+beverage.cost();
  11. }
  12. }

要计算加牛奶的咖啡的价格

Milk milk = new Milk(new DarkRoast());

milk.cost();

分享到:
评论

相关推荐

    设计模式 - 装饰者模式.rar

    装饰者模式是一种结构型设计模式,它允许在运行时向对象添加新的行为或职责,而无需修改对象本身。这种模式的核心思想是通过将对象包装在一个装饰类中来扩展功能,而不是通过继承。以下是对装饰者模式的详细阐述: ...

    Java设计模式-装饰者模式

    本章可以称为“给爱用继承的人一个全新的设计眼界”。我们即将再度探讨典型滥用问题。你将在本章学到如何使用对象组合的方式,做到在运行时装饰类。为什么呢?一旦你熟悉了装饰者的技巧...——《Head First 设计模式》

    设计模式--装饰者模式java例子

    装饰者模式是软件设计模式中的一种结构型模式,它的主要目的是动态地给对象添加新的功能,而无需修改原有代码。在Java中,装饰者模式通常通过继承和组合来实现,它提供了一种比继承更灵活的方式来扩展对象的功能。...

    PHP5设计模式-装饰者模式

    装饰者模式是面向对象设计中的一种行为模式,它允许在运行时向对象添加新的行为或责任,而无需修改对象的源代码。在PHP5中,装饰者模式的应用可以帮助我们保持代码的灵活性,使得扩展功能变得容易,同时也遵循了开闭...

    java设计模式-装饰者模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...

    JAVA-设计模式-结构型模式-装饰模式

    JAVA-设计模式-结构型模式-装饰模式

    设计模式---装饰者模式

    装饰者模式是一种结构型设计模式,它允许在运行时向对象添加新的行为或职责,而无需修改对象的源代码或创建子类。这种模式的核心思想是通过将对象封装在一个装饰器对象内,来扩展对象的功能,同时保持原有接口的不变...

    c++设计模式-结构型模式-装饰器模式

    c++设计模式-结构型模式-装饰器模式;QT工程;c++简单源码; 装饰器(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。

    游戏设计3-装饰者模式-装备

    装饰者模式是面向对象设计中的一种行为设计模式,它允许在运行时动态地给对象添加新的职责或行为,而无需改变对象本身。在游戏设计中,装饰者模式常常被用来扩展角色、装备等对象的功能,使得游戏内容更加丰富且易于...

    设计模式-装饰者

    装饰者设计模式是一种结构型设计模式,它允许在运行时向对象添加新的行为或属性,而无需修改对象的源代码。这种模式的核心在于装饰者和组件接口是相同的,因此装饰者可以完全替代原对象,同时还能增加额外的功能,...

    C++设计模式--基于Qt4开源跨平台开发框架

    《C++设计模式--基于Qt4开源跨平台开发框架》一书主要探讨了如何在C++编程中利用设计模式,并结合Qt4框架进行高效的跨平台应用开发。设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板...

    设计模式-装饰器模式

    装饰器模式是一种结构型设计模式,它允许在不修改对象本身的情况下动态地为对象添加新的行为或职责。这种模式在软件工程中广泛应用,特别是在需要扩展已有功能而不影响原有代码结构时。在iOS开发中,装饰器模式同样...

    设计模式 - 装饰模式(C++实例)

    装饰模式是一种结构型设计模式,它允许在运行时向对象添加新的行为或责任,而无需修改对象的源代码。这种模式在软件工程中非常常见,因为它提供了灵活性,使得我们可以独立于对象的组合来扩展功能。 在C++中,装饰...

    23种设计模式--装饰模式

    装饰模式是一种结构型设计模式,它是面向对象设计中用来动态添加或修改对象功能的一种方法。在软件工程中,装饰模式允许我们向一个现有的对象添加新的行为或职责,同时又不改变其原有的结构,从而实现对类的功能扩展...

    java常用设计模式-装饰器模式

    Java 设计模式 - 装饰器模式 装饰器模式(Decorator Pattern)是一种结构性设计模式,它允许您在不影响同一类的其他对象的行为的情况下,静态或动态地向单个对象添加行为。该模式非常有用,当您想要在运行时添加或...

    设计模式-Java语言中的应用

    设计模式通常分为三类:创建型模式(如工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式),结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)以及行为型模式(如...

Global site tag (gtag.js) - Google Analytics