c#

class c#怎样实现继承

小樊
82
2024-10-19 10:51:01
栏目: 编程语言

在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重写了BaseClassMethod方法。

0
看了该问题的人还看了