• 超市收银系统_定义商品的父类和各个子类的实现——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) { }
        }
    }

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

     

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

  • 相关阅读:
    jmeter:dubbo接口测试
    聊聊基准测试的MVP方案
    建立团队的性能文化
    针对 Intellij IDEA 2018.2 版本 异常退出问题
    maven settings.xml配置优化
    Windows安装MySQL
    String的intern()方法详解
    Ubuntu下安装JDK图文教程详解 jdk-java6-30 .bin 的处理方法
    Iterator迭代器快捷键
    $.each $.map $.filter 区别 Script
  • 原文地址:https://www.cnblogs.com/MoRanQianXiao/p/7738433.html
Copyright © 2020-2023  润新知