一些面嚮對象語言允許一個類從多個基類中繼承,而另一些面嚮對象語言只允許從一個類繼承,但可以隨意從幾個接口或純抽象類中繼承。
只有C++支持多級繼承,許多程序員對此褒貶不一。多級繼承常會引起繼承來的類之間的混亂,繼承而來的方法往往沒有唯一性,所以C#中類的繼承只可以是一個,即子類只能派生於一個父類,而有時你必須繼承多個類的特性,爲了實現多重繼承必須使用接口技術,下面是對接口的多重繼承進行介紹:
using System ; //定義一個描述點的接口 interface IPoint { int x { get ; set ; } int y { get ; set ; } } interface IPoint2 { int y { get ; set ; } } //在point中繼承了兩個父類接口,並分別使用了兩個父類接口的方法 class Point:IPoint,IPoint2 { //定義兩個類內部訪問的私有成員變量 private int pX ; private int pY ; public Point(int x,int y) { pX=x ; pY=y ; } //定義的屬性,IPoint接口方法實現 public int x { get { return pX ; } set { pX =value ; } } //IPoint1接口方法實現 public int y { get { return pY ; } set { pY =value ; } } } class Test { private static void OutPut( IPoint p ) { Console.WriteLine("x={0},y={1}",p.x,p.y) ; } public static void Main( ) { Point p =new Point(15,30) ; Console.Write("The New Point is:") ; OutPut( p ) ; string myName =Console.ReadLine( ) ; Console.Write("my name is {0}", myName) ; } } |