超市收银系统_定义商品的父类和各个子类的实现——1

---恢复内容开始---

超市收银系统

前言:当我们学习完面向对象的封装 继承 多态的时候,最主要的就是如何的运用他们,接下来我们会通过一个小型的案例(超市收银系统)来把我们学习到的知识进行运用。

首先我们要分析一下我们需要什么类?

第一首先我们要有物品,比如说有: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) { }
    }
}

 好的,我们会在下一篇博客中分析仓库类。谢谢大家。

 

---恢复内容结束---

原文地址:https://www.cnblogs.com/MoRanQianXiao/p/7738433.html