四、多級繼承
一些面向對象語言允許一個類從多個基類中繼承,而另一些面向對象語言只允許從一個類繼承,但可以隨意從幾個接口或純抽象類中繼承。
只有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) ;
}
}