首页 > 代码库 > 继承三大特性之一

继承三大特性之一

1.在派生类中访问基类中的成员或方法一般有以下两种方法:

   1).c#通过base.<方法名>()的方式调用基类的方法成员。

   2).通过显示类型转换。

2.隐藏基类成员

   有的时候同一功能需要重新再派生类里实现新的逻辑,而不想用基类的方法,即隐藏掉父类的成员方法。new修饰符来实现隐藏基类成员。

3.密封类和密封方法是用关键字(sealed)

4.抽象类和抽象方法(abstract)

抽象方法就是为了继承而生的,基类并不具体实现任何执行代码,只是做个定义。子类必须重写基类中的抽象方法是用关键字(override)

5.多重继承是用接口

实现多个接口的相同名称的方法,必须在接口的实现部分注意以下两点;

1).相同名称的方法在实现是,前面不能加public等关键词,每个方法钱必须以相应的接口名。如

void IFace1.Say(){....};

void IFace2.Say(){....};

2).对于不同名称的方法,前面必须冠以"public"表示法。如;

public void Hello()

以上两个规则缺一不可,否则会收到编译错。

 

namespace ConsoleApplication2{    interface IFace1    {        void Say();        void Hello();    }    interface IFace2    {        void Say();        void Goodbye();    }    class FacetoFace : IFace1, IFace2    {        void IFace1.Say()        {            Console.WriteLine("这是IFace1的方法");        }        public void Hello()        {            Console.WriteLine("IFace1的Hello");        }        void IFace2.Say()        {            Console.WriteLine("这是IFace2的方法");        }        public void Goodbye()        {            Console.WriteLine("IFace2的Goodbye");        }    }    class Program    {        static void Main(string[] args)        {            FacetoFace fs = new FacetoFace();            ((IFace1)fs).Say();            ((IFace2)fs).Say();            fs.Goodbye();            fs.Hello();            Console.Read();        }    }}