java2--里氏代换原则【例】
来源:互联网 发布:电信卡网络不好怎么办 编辑:程序博客网 时间:2024/06/06 13:55
实现一个咖啡厅的点单系统
一杯咖啡+各种调料
使用面向对象的方法编程,并遵循开闭原则
//2012.8.1//咖啡厅点单系统public abstract class Beverage{ //咖啡的抽象类String name = "unknow";String description = "unknow";public String getDescription(){return description;}public String getName(){return name;}public abstract float cost();};class HouseBlend extends Beverage{ //咖啡--实例public HouseBlend(){name = "HouseBlend";description = "HouseBlend Coffee ";}public float cost(){return 4.0f;}};class Espresso extends Beverage{public Espresso(){name = "Espresso";description = "Espresso Coffee ";}public float cost(){return 1.0f;}};class Decaf extends Beverage{public Decaf(){name = "Decaf";description = "Decaf Coffee ";}public float cost(){return 2.0f;}};class DarkRoast extends Beverage{public DarkRoast(){name = "DarkRoast";description = "DarkRoast Coffee ";}public float cost(){return 3.0f;}};、
public abstract class Condiment extends Beverage{ //调料的抽象类 继承咖啡抽象类public abstract float cost();};class Whip extends Condiment{ //调料---实例private Beverage beverage = null;private int num = 1;public Whip(Beverage temp){String name = "Whip";this.beverage = temp;}public Whip(Beverage temp,int i){this(temp);this.num = i;}public String getDescription(){return beverage.getDescription() + " + Whip";}public float cost(){return 0.1f*num + beverage.cost();}};class Mocha extends Condiment{private Beverage beverage = null;private int num = 1;public Mocha(Beverage temp){String name = "Mocha";this.beverage = temp;}public Mocha(Beverage temp,int i){this(temp);this.num = i;}public String getDescription(){return beverage.getDescription() + " + Mocha";}public float cost(){return (0.15f*num + beverage.cost());}};。
public class CoffeeDemo01{public static void main(String args[]){Beverage a = new Espresso();System.out.println("name:" + a.getName());Condiment b = new Mocha(a);b = new Whip(b);System.out.println(b.cost());System.out.println(b.getDescription());}}
由此实现点单系统,返回打印餐品和金额
- java2--里氏代换原则【例】
- 里氏代换原则
- [转]里氏代换原则
- 里氏代换原则
- 里氏代换原则概述
- 里氏代换原则
- 里氏代换原则
- 里氏代换原则
- 里氏代换原则
- 里氏代换原则
- 里氏代换原则
- 里氏代换原则
- 模式-“里氏代换原则”
- 里氏代换原则
- 里氏代换原则
- 里氏代换原则
- 里氏代换原则
- 什么是 里氏代换原则?
- Rspec2 如何测试rake task任务
- 能力成熟度模型
- Hadoop入门-Hadoop安装(单机)
- UDP IOCP 客户端
- 选择文件夹的控件Folderbrowserdialog
- java2--里氏代换原则【例】
- 1 gcd 最大公约数算法
- iPhone开发中的XML解析类库对比
- Hadoop入门-单机伪分布式配置
- Java基础 之软引用、弱引用、虚引用
- 强烈推荐几个比较好的Java代码查询网站
- 全排列算法与全组合算法
- jQuery 选择器(2)
- Ubuntu下openldap服务器的部署步骤