C# 继承

文章目录

  • 一、继承的基本概念与意义
  • 二、基类与派生类
    • (一)继承规则与语法
    • (二)通过实例深入理解继承关系
  • 三、基类的初始化
  • 四、继承接口(Interface Inheritance)
    • (一)接口继承的规则与特点
    • (二)接口继承的实例应用
  • 五、C# 多重继承
    • (一)多重继承的概念与 C# 的实现方式


C# 继承_第1张图片

一、继承的基本概念与意义

  当创建一个新类时,无需一切从零开始,重新编写所有的数据成员和成员函数。通过继承机制,只需巧妙地设计一个新类,使其继承已有的类的成员,就能快速构建起具有特定功能的类结构。在这里,那个已有的类被称作基类(也常被称为父类),而新创建的类则被叫做派生类(亦称为子类)。这种基于继承的设计思想,精准地实现了 “属于(IS-A)” 关系,就如同在现实世界里,哺乳动物从属于动物范畴,狗又属于哺乳动物,所以狗自然也属于动物一样,这种逻辑关系在程序代码中通过类的继承得以清晰体现,让程序的结构与现实世界中的对象关系相互呼应,更符合人们的认知习惯,也使得代码更易于理解和维护。

二、基类与派生类

(一)继承规则与语法

  一个类可以继承自另一个类,形成基类(父类)和派生类(子类)的关系。不过需要注意的是,C# 并不支持类的多重继承,也就是说,一个类只能有一个直接的基类。但它支持接口的多重继承,一个类可以实现多个接口,概括来讲就是:一个类能够继承多个接口,然而只能继承自一个类。
  创建派生类在 C# 中有特定的语法格式,如下所示:

<访问修饰符> class <基类>
{
   
   ...
}
class <派生类> : <基类>
{
   
   ...
}

  按照这样的语法规则,派生类会默认继承基类的成员,这里的成员涵盖了字段、方法、属性等诸多方面,不过前提是这些成员没有被明确地标记为私有(private)。因为私有成员的访问权限仅限于其所属的类内部,派生类是无法直接访问的。
例如,以下是一个简单的基类与派生类示例:

class BaseClass
{
   
    public void SomeMethod()
    {
   
        // Method implementation
    }
}

class DerivedClass : BaseClass
{
   
    public void AnotherMethod()
    {
   
        // 通过关键字 base 调用基类的方法
        base.SomeMethod();

        // Method implementation
    }
}

  在这个示例中,DerivedClass 继承自 BaseClass,在 DerivedClass 的 AnotherMethod 方法里,借助 base 关键字就能顺利调用 BaseClass 中的 SomeMethod 方法,实现了派生类对基类功能的复用和扩展。

(二)通过实例深入理解继承关系

  我们来看一个更具体的例子,假设有一个基类 Shape,以及它的派生类 Rectangle:

using System;
namespace InheritanceApplication
{
   
    class Shape
    {
   
        public void setWidth(int w)
        {
   
            width = w;
        }
        public void setHeight(int h)
        {
   
            height = h;
        }
        protected int width;
        protected int height;
    }

    // 派生类
    class Rectangle : Shape
    {
   
        public int getArea()
        {
   
            return (width * height)

你可能感兴趣的:(C#,基础,c#,java,android)