標籤:
一些物件導向語言允許一個類從多個基類中繼承,而另一些物件導向語言只允許從一個類繼承,但可以隨意從幾個介面或純抽象類別中繼承。
只有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) ;
}
}
C#繼承機制 多級繼承