标签:结束 es2017 多态 span 定义 实现 double ring 需要
---恢复内容开始---
超市收银系统
前言:当我们学习完面向对象的封装 继承 多态的时候,最主要的就是如何的运用他们,接下来我们会通过一个小型的案例(超市收银系统)来把我们学习到的知识进行运用。
首先我们要分析一下我们需要什么类?
第一首先我们要有物品,比如说有:Acer笔记本 酱油 香蕉 华为手机,他们首先都是物品,所以我们可以写一个父类,用来父类中物品的属性,比如:价格Price 名字Name 编号Id 。物品全部继承与父类物品类。
第二:仓库类:1.首先仓库有存储物品的功能。2.有提取获取的功能。3.有进货的功能。
第三:超市类:1.当创建对象的时候。给仓库的货架上上货。2.跟用户交互的过程。3.根据用户的选择返回一个打折的对象。4.根据用户的购买计算总的价钱。5.展示货物的方法。
如图:
我们首先来创建物品的父类:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _16超市收银系统 { /// <summary> /// 创建物品的父类 /// </summary> class ProductFather { //价格 public double Price { get; set; } //名字 public string Name { get; set; } //编号 public string ID { get; set; } /// <summary> /// 商品父类的构造函数 进行初始化赋值 /// </summary> /// <param name="id">编号</param> /// <param name="price">价格</param> /// <param name="Name">名字</param> public ProductFather(string id, double price, string Name) { this.ID = id; this.Price = price; this.Name = Name; } } }
让我们的酱油 Acer笔记本 香蕉 三星手机全部的继承与我们的父类(主要是实现父类的构造函数),代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _16超市收银系统 { class JiangYou:ProductFather { /// <summary> /// 继承父类的构造函数 /// </summary> /// <param name="id">编号</param> /// <param name="price">价格</param> /// <param name="Name">名字</param> public JiangYou(string id, double price, string Name): base(id, price, Name) { } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _16超市收银系统 { /// <summary> /// 宏基笔记本 /// </summary> class Acer:ProductFather { public Acer(string id, double price, string Name): base(id, price, Name) { } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _16超市收银系统 { /// <summary> /// 香蕉类 /// </summary> class Banana : ProductFather { public Banana(string id, double price, string Name): base(id, price, Name) { } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _16超市收银系统 { /// <summary> /// 三星手机 /// </summary> class SamSung : ProductFather { public SamSung(string id, double price, string Name) : base(id, price, Name) { } } }
好的,我们会在下一篇博客中分析仓库类。谢谢大家。
---恢复内容结束---
标签:结束 es2017 多态 span 定义 实现 double ring 需要
原文地址:http://www.cnblogs.com/MoRanQianXiao/p/7738433.html