c# abstract抽象类与继承类子类的构造函数_base

来源:互联网 发布:spss怎么导入excel数据 编辑:程序博客网 时间:2024/06/08 16:52
 /// 抽象类Vehicle
    ///
    abstract class Vehicle
    {
        public int wheels;//公有成员
        public  float weight;//保护成员:重量
        //构造函数也有权限访问符public等
        public Vehicle(int w, float g)
        {
            wheels = w;
            weight = g;
        }
        
        //virtual的作用是什么呢 virtual,在抽象类中标记为virtual的方法,在子类中才可以用override进行重写
        //virtual声明的方法之方法体也可以不写任何东东,仅有一个{}
        public virtual void Speak()
       {
           //--Console.WriteLine("the w vehicle is speaking!");
       }
    }

    class Car : Vehicle //继承抽象类vehicle
    {
        int passengers;//私有成员:数
        public Car(int w, float g, int p)
            : base(w, g) //:base自动切到下一行 通过base父类的构造函数才可以为父类的域提供值,不然不成:base(w,g),此w,g源于car子类的构造函数的参数
        {
            wheels = w;
            weight = g;
            passengers = p;
        }
        //继承抽象父类,对抽象父类的virtual方法进行重写(override)
        public override void Speak()
        {
            Console.WriteLine("the car is speaking:di-di");
        }
    }
0 0
原创粉丝点击