阅读量:0
在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
方法。