c#定义一个车辆(Vehicle)基类,具有Speed、MaxSpeed、Weight等属性,具有Run、Stop等方法。

定义一个车辆(Vehicle)基类,具有Speed、MaxSpeed、Weight等属性,具有Run、Stop等方法。以该类为基类派生出Bicycle、Car类,为两个派生类添加新的属性和方法,并重写基类的Run方法,并对该派生类的功能进行验证。

    class Vehicle
    {
         
        //赋值函数  get
        //取值函数  set

        public double speed;

        public double Speed
        {
            get { return speed; }
            set { 
                    if (value >= 0)
                    {
                        speed = value;
                    }
                    else
                    {
                        Console.WriteLine("此速度值不在正常范围!");
                    }
            }
        }

        public double maxspeed;
        public double Maxspeed
        {
            get { return maxspeed; }
            set
            {
                if (value >= 0&&value>=speed)
                {
                    maxspeed = value;
                }
                else
                {
                    Console.WriteLine("此速度值不在正常范围!");
                }
            }
        }

        public double weight;
        public double Weight
        {
            get { return weight; }
            set {
                if (value > 0)
                {
                    weight = value;
                }
                else
                {
                    Console.WriteLine("此速体重不在正常范围!");
                }
            }
        }

        public virtual void Run()
        {
            Console.WriteLine("我开始跑了");
        }

        public void Stop()
        {
            Console.WriteLine("我停车了");
        }

        class Bicycle : Vehicle
        {

            //定义一个打印名字的方法
            public void PrintName()
            {

                //自定义属性 name
                string name;
                Console.WriteLine("请输入我的姓名:");
                name = Console.ReadLine();

                Console.WriteLine("请输入我的体重:");
                Weight = double.Parse(Console.ReadLine());
                Console.WriteLine("请输入我的当前时速:");
                Speed = double.Parse(Console.ReadLine());
                Console.WriteLine("请输入我的最高时速:");
                Maxspeed = double.Parse(Console.ReadLine());
                Console.WriteLine("我是自行车!我的名字叫"+name+"!\n我的体重是"+Weight+"!我的当前时速是"+speed+"!我的最高时速是"+maxspeed+"");
            }

            //重写 Run方法
            public override void Run()
            {
                Console.WriteLine("我跑起来了因为我是自行车有点慢!");
            }

        }

        class Car : Vehicle
        {

            //定义一个打印名字的方法
            public void PrintName()
            {
                Console.WriteLine("我是汽车!");
            }
        }

        static void Main(string[] args)
        {
            //此处以自行车为例
            //汽车同上
            Bicycle bicycle = new Bicycle();

            //跑起来
            bicycle.Run();

            //输出信息
            bicycle.PrintName();

            //停车
            bicycle.Stop();

            //车辆进行简单调用
            Car car = new Car();

            car.PrintName();
            Console.ReadLine();
        }
    }
  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以继承车(vehicle基类,同时添加自行车特有的成员变量和成员函数,例如:齿轮数(gear)、脚蹬速度(pedal_speed)等成员变量,骑行(ride)等成员函数。汽车(motorcar)同理,可以添加汽车特有的成员变量和成员函数,例如:发动机型(engine_type)、加速(accelerate)等成员函数。 ### 回答2: 车(vehicle)是一种交通工具,我们可以定义一个车的基类,它具有一些共同的属性和行为,例如最高速度maxspeed)、重量(weight)等成员变量,以及行驶(run)、停止(stop)等成员函数。这个基类可以作为派生的父,被不同型的车继承。 自行车(bicycle)是一种双轮轻型车辆,它的最高速度和重量相对较低,可以继承基类属性和行为,并添加自己的特有属性方法。例如,自行车可以添加一个“使用人力骑行的距离”属性,并添加“骑行”(ride)和“停车”(park)方法,这些特有的属性方法可以在自行车中进行定义和实现。 汽车(motorcar)是一种四轮或更多轮的机动车辆,它的最高速度和重量相对较高,可以继承基类属性和行为,并添加自己的特有属性方法。例如,汽车可以添加一个“燃油消耗量”属性,并添加“加油”(refuel)和“启动引擎”(start engine)方法,这些特有的属性方法可以在汽车中进行定义和实现。 通过定义一个车(vehicle基类,并通过派生出自行车(bicycle)、汽车(motorcar),我们可以更好地实现面向对象编程的思想,实现代码重用性和可扩展性,提高编程效率和代码质量。同时,我们也可以根据自己的需要对每个定义进行调整和扩展,以适应不同的场景和需求。 ### 回答3: 首先我们需要定义一个车(vehicle基类,它应该至少包含maxspeed(最大速度)和weight(重量)这两个成员变量,以及run(行驶)和stop(停止)这两个成员函数。例如: ```cpp class Vehicle { public: int maxspeed; int weight; void run() { cout << "Vehicle is running" << endl; } void stop() { cout << "Vehicle has stopped" << endl; } }; ``` 接下来,我们需要派生出自行车(bicycle)和汽车(motorcar)。自行车(bicycle)应该继承自车(vehicle基类,并可以定义一些自行车特有的成员变量和函数,例如: ```cpp class Bicycle : public Vehicle { public: int height; // 自行车高度 int weight; // 自行车重量 void pedal() { cout << "Bicycle is pedaling" << endl; } }; ``` 可以看到,自行车新增了一个height(高度)成员变量和一个pedal(踩踏)成员函数,这些都是自行车独有的。 似地,我们也可以定义一个汽车(motorcar),它也继承自车(vehicle基类,并可以定义一些汽车特有的成员变量和函数。例如: ```cpp class Motorcar : public Vehicle { public: int horsepower; // 发动机马力 string brand; // 汽车品牌 void accelerate() { cout << "Motorcar is accelerating" << endl; } }; ``` 可以看到,汽车新增了一个horsepower(发动机马力)成员变量和一个brand(品牌)成员变量,以及一个accelerate(加速)成员函数。 最后,我们可以通过实例化自行车或汽车来使用它们的成员变量和函数。例如: ```cpp Bicycle myBicycle; myBicycle.maxspeed = 30; myBicycle.weight = 20; myBicycle.height = 100; myBicycle.run(); // 输出 "Vehicle is running" myBicycle.pedal(); // 输出 "Bicycle is pedaling" Motorcar myMotorcar; myMotorcar.maxspeed = 200; myMotorcar.weight = 1500; myMotorcar.horsepower = 200; myMotorcar.brand = "BMW"; myMotorcar.run(); // 输出 "Vehicle is running" myMotorcar.accelerate; // 输出 "Motorcar is accelerating" ``` 以上就是定义一个,并派生出自行车和汽车的过程。通过这种方式,我们可以将多个之间的共性和特性进行抽象和分,从而使代码更加结构化和易于设计。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值