Fork me on GitHub

继承

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!”);
}
};
View Code
class Car:Vehicle //定义轿车类从汽车类中继承
{
int passengers; //私有成员乘客数
public Car(int w,float g,int p) : base(w,g)
{
wheels = w;
weight = g;
passengers = p;
}
}
View Code

C#中的继承符合下列规则
􀁺 继承是可传递的如果C 从B 中派生B 又从A 中派生那么C 不仅继承了
B 中声明的成员同样也继承了A 中的成员Object 类作为所有类的基类
􀁺 派生类应当是对基类的扩展派生类可以添加新的成员但不能除去已经继
承的成员的定义
􀁺 构造函数和析构函数不能被继承除此以外的其它成员不论对它们定义了
怎样的访问方式都能被继承基类中成员的访问方式只能决定派生类能否访问它们
􀁺 派生类如果定义了与继承而来的成员同名的新成员就可以覆盖已继承的成
员但这并不因为这派生类删除了这些成员只是不能再访问这些成员
􀁺 类可以定义虚方法虚属性以及虚索引指示器它的派生类能够重载这些成
员从而实现类可以展示出多态性

posted @ 2014-12-17 11:17  乔闻  阅读(101)  评论(0编辑  收藏  举报