标签:基类 err 传递 析构函数 访问修饰符 base protect [] override
继承:继承主要实现重用代码,节省开发时间 
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();
        }
    }
标签:基类 err 传递 析构函数 访问修饰符 base protect [] override
原文地址:http://www.cnblogs.com/joe9976/p/6427787.html