在C#中,實現繼承主要通過使用冒號(:)和關鍵字extends
(在C# 2.0及更早版本中)或override
(在C# 3.0及更高版本中)來實現。以下是兩種實現繼承的方法:
extends
關鍵字(適用于C# 2.0及更早版本)在C# 2.0及更早版本中,只能繼承自類(class),不能繼承自接口(interface)。繼承的語法如下:
// 基類
public class BaseClass
{
public void Method()
{
Console.WriteLine("Base class method.");
}
}
// 派生類
public class DerivedClass : BaseClass
{
// 派生類可以訪問基類的成員
public void Method()
{
base.Method(); // 調用基類的Method方法
Console.WriteLine("Derived class method.");
}
}
class Program
{
static void Main(string[] args)
{
DerivedClass obj = new DerivedClass();
obj.Method(); // 輸出:Base class method. Derived class method.
}
}
override
關鍵字(適用于C# 3.0及更高版本)從C# 3.0開始,可以使用override
關鍵字來重寫基類的方法。此外,C# 3.0及更高版本還支持繼承接口。以下是使用override
關鍵字的示例:
// 基類
public class BaseClass
{
public virtual void Method()
{
Console.WriteLine("Base class method.");
}
}
// 接口
public interface IInterface
{
void Method();
}
// 派生類
public class DerivedClass : BaseClass, IInterface
{
// 使用override關鍵字重寫基類的方法
public override void Method()
{
base.Method(); // 調用基類的Method方法
Console.WriteLine("Derived class method.");
}
}
class Program
{
static void Main(string[] args)
{
DerivedClass obj = new DerivedClass();
obj.Method(); // 輸出:Base class method. Derived class method.
}
}
在這個示例中,DerivedClass
繼承了BaseClass
并實現了IInterface
接口。通過使用override
關鍵字,DerivedClass
重寫了BaseClass
的Method
方法。