c#面向对象14--多态--超市收银系统之商品类、仓库类p158-164

超市收银系统

代码思路--三个类
  • 每一个类都单独存在于一个父类文件中

Guid

  • 帮助我们产生一个不会重复,独一无二的编号
    -Guid--F12找到定义
Guid.NewGuid();  

P158-P161 之后有时间补代码

商品类

商品类之父类且有四种子类

商品类之子类Samsung

仓库类

仓库类

分门别类存储货物

仓库类之进货(后来方法名改为JinPros())

仓库类之取货

仓库类之取货-----问题:验证list<>拿走第一个后面会补上来

仓库类之向用户展示

收银超市类1

收银超市类之SuperMarket类模拟用户在购物的过程--1

收银超市类之SuperMarket类模拟用户在购物的过程--2

收银超市类之SuperMarket类模拟用户在购物的过程--3

打折类

打折的父类只能提供一个打折的抽象方法

不打折时候的价钱

打折时候的价钱---1

打折时候的价钱---2折扣是需要输入的

买多少送多少时候的价钱---1

买多少送多少时候的价钱---2

买多少送多少时候的价钱---3(买五百送一百,因此买一千的时候应该送两百,但之前的算法只能减一百 )

总结:CalFather类有三个子类分别是CalNormal、CalRate和CalMN

超市收银类2

超市收银类之得到打折后的价钱---简单工厂的核心,根据用户输入返回父类类型,里面装的是子类对象

超市收银类之写完AskBuying

超市收银类之---在Main函数中若只创建仓库函数则此时只有货架,而当创建超市对象的时候仓库才有了货物。因此在超市收银类里面创建一个ShowPros()对象,调用仓库的ShowPros()方法。这样不用在Main函数中创建仓库对象

主函数

主函数

打印小票

结果展示

你可能感兴趣的:(c#面向对象14--多态--超市收银系统之商品类、仓库类p158-164)