ITPub博客

首页 > Linux操作系统 > Linux操作系统 > c# abstract抽象类与继承类子类的构造函数_base

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

原创 Linux操作系统 作者:wisdomone1 时间:2012-03-08 13:44:21 0 删除 编辑
 ///
    /// 抽象类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");
        }
    }
}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-718054/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb qq: 305076427 微博: wisdomone9

注册时间:2008-04-04

  • 博文量
    2164
  • 访问量
    11740396