C# 多态 练习程序:汽车销售店CarShop可以销售以下各种类型的汽车BMW、CheryQQ、Audi。

C# 多态 练习程序:汽车销售店CarShop可以销售以下各种类型的汽车BMW、CheryQQ、Audi。,第1张

建立抽象父类Car,提供抽象Sale()方法,另三种车继承此Car并重写Sale()方法,另建立CarShop类,建立一个Saler(Car CarInfo),每次调用时传入建立的三种车的实例对象,另一个Total方法是把Car类中Count属性和Price属性计算一下。是在C#的控制台程序下写的,其实方法思路很多。

class Program

    {

        static void Main(string[] args)

        {

            CarShop carShop = new CarShop()

            carShop.Saler(carShop.BWMSaler) //出售BWM

            carShop.Saler(carShop.BWMSaler)

            carShop.Saler(carShop.CheryQQSaler) //出售CheryQQ

            carShop.Saler(carShop.AudiSaler) //出售Audi

            carShop.Saler(carShop.AudiSaler)

            carShop.Saler(carShop.AudiSaler)

            carShop.Total() //统计

            Console.ReadLine()

        }

    }

    

    //==============================

    

    //抽象父类

    public abstract class Car

    {

        //建立的车销售量

        public int Count { get set }

        //建立的单价

        public int Price { get set }

        //建立抽象的车销售方法

        public abstract void Sale()

    }

    //BWM车类

    public class BWM : Car

    {

        //重写即多态,BWM的自己的销售方法

        public override void Sale()

        {

            Console.WriteLine("出售一辆BWM车!")

        }

        //BWM类实例化对象时,将销售量和单价重置

        public BWM()

        {

            Count = 0

            Price = 100000

        }

    

    }

    //QQ车类

    public class CheryQQ : Car

    {

        //重写QQ自己的销售方法

        public override void Sale()

        {

            Console.WriteLine("出售一辆CheryQQ车!")

        }

        //QQ类实例化对象时,将销售量和单价重置

        public CheryQQ()

        {

            Count = 0

            Price = 50000

        }

    }

    //Audi车类

    public class Audi : Car

    {

       //重写Audi自己的销售方法

        public override void Sale()

        {

            Console.WriteLine("出售一辆Audi车!")

        }

        //Audi类实例化对象时,将销售量和单价重置

        public Audi()

        {

            Count = 0

            Price = 80000

        }

    

    }

    //CarShop类

    public class CarShop

    {

        //建立本店的BWM销售者,属性

        private BWM _bwmSaler = new BWM()

        public BWM BWMSaler { get { return _bwmSaler } }

        //建立本店的QQ销售者

        private CheryQQ _cheryQQSaler = new CheryQQ()

        public CheryQQ CheryQQSaler { get { return _cheryQQSaler } }

        //建立本店的Audi销售者

        private Audi _audiSaler = new Audi()

        public Audi AudiSaler { get { return _audiSaler } }

        //本店的销售方法,参数为要销售本店的哪个产品,即上面定义的三个销售者

        public void Saler(Car CarInfo)

        {

            //由于三个车都是继承的Car这个抽象类,而每个子类都重写了抽象类的

            //Sale()方法,从而实现了多态调用

            CarInfo.Sale()

            CarInfo.Count++ //每次销售量+1

        }

        public void Total()

        {

            //简单的统计

            Console.WriteLine("BWM已经销售了:{0}台,总销售额:{1}元", BWMSaler.Count, BWMSaler.Count * BWMSaler.Price)

            Console.WriteLine("CheryQQ已经销售了:{0}台,总销售额:{1}元", CheryQQSaler.Count, CheryQQSaler.Count * CheryQQSaler.Price)

            Console.WriteLine("Audi已经销售了:{0}台,总销售额:{1}元", AudiSaler.Count, AudiSaler.Count * AudiSaler.Price)

        }

    }

肯定是非 *** 作系统夲来自带的东西,也比较陌生。可能是你安装某个应用软件造成的,也可能是他们附带的什么插件。

一、检查安装过的软件,可要可不要的都卸载掉。

二、在开始菜单“运行”中输入msconfig,其实“启动”中的绝大多数都可以禁掉。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11539581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存