继承:继承主要实现重用代码,节省开发时间
C#中的继承有以下特点
1.派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。
2.可传递性。如果A继承B,B又继承C,那么A既能继承B中声明的成员,同时也继承C中的声明的成员(属性,方法...)。
3.构造函数和析构函数不能被继承,其他的都可以继承。其中能否访问基类的成员在于定义的访问修饰符:Private:只有类本身能存取. Protected:类和派生类可以存取. Internal:只有同一个项目中的类可以存取. Protected Internal:是Protected和Internal的结合. Public:完全存取.
4.派生类是基类的扩展,派生类可以额外定义自己的成员。
5.base可以调用父类的成员方法,除了构造函数和析构函数
6.new: 变量上的 和方法上的 表示是相对于 继承来说的 ,parent(父类)child (子类)2个类都有一个同名变量param 如果 父类的param变量和 子类的param变量不是同一个 那么 子类在申明的时候 就需要在前面加new 表示这个变量 不是父类的, 例如 public new string id="2";
public class Person {
protected string id = "1";
protected string name = "wzm";
public Person() {
Console.Write("Person类\n");
}
public virtual void GetInfo()
{
Console.WriteLine("Id:{0},name:{1}", id, name);
}
}
public class Employee : Person
{
public Employee():base() //调用父类的构造函数**
{
}
private string id = "2";
public override void GetInfo()
{
base.GetInfo(); //调用父类的GetInfo()方法
Console.WriteLine("Employee Id: {0}", id);
}
}
class Program
{
static void Main(string[] args)
{
Employee E = new Employee();
E.GetInfo();
}
}