A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许庭洲 黑马帝   /  2012-10-9 13:53  /  1306 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

程序清单:
using System
class Vehicle  //定义汽车类
{
        int wheels;//公有成员:轮子个数
        protected float weight; //保护成员:重量
        public Vehicle(){;}
        public Vehicle(int w,float g){
                  wheels = w;
                  weight = g;
             }
        public void Speak(){
             Console.WriteLine("the w vehicle is speaking!");
        }
};
class Car:Vehicle //定义轿车类:从汽车类中继承
{
         int passenger;  //私有成员:乘客数
         public Car(int w,float g,int p):base(w,g)
         {
                  wheels = w;
                  weight = g;
                  passengers = p;
          }
}

Vehicle作为基类,体现了“汽车”这个实体具有的公共性质:汽车都有轮子和重量。
Car继承了Vehicle的这些性质,并且添加了自身的特性;可以搭载乘客。
C#中的继承负荷下列规则:
1. 继承是可传递的。如果C从B派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。
2.派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去已经继承的成员定义。
3.构造函数和析构函数不能被继承。除此以外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类能否访问它们。
4.派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。但这并不因为这派生类删除了这些成员,只是不能再访问这些成员。
5.类可以定义虚方法,虚属性以及虚索引指示器,它的派生类能够重载这些成员,从而实现类能够重载这些成员,从而实现类可以展示多态性。

评分

参与人数 1黑马币 +2 收起 理由
刘俊红 + 2 很给力!

查看全部评分

1 个回复

倒序浏览
干货很多。强烈支持。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马