C#|继承

继承是面向对象编程的一个重要支柱。它是C#中的一种机制,通过这种机制,一个类可以继承另一个类的特性(字段和方法)。

null

重要术语:

  • 超级班: 其特征被继承的类称为超级类(或基类或父类)。
  • 子类: 继承另一个类的类称为子类(或派生类、扩展类或子类)。除了超类字段和方法之外,子类还可以添加自己的字段和方法。
  • 可重用性: 继承支持“可重用性”的概念,也就是说,当我们想要创建一个新类,并且已经有一个类包含我们想要的一些代码时,我们可以从现有的类派生出我们的新类。通过这样做,我们可以重用现有类的字段和方法。

如何使用继承

用于继承的符号是 : . 语法:

class derived-class : base-class  
{  
   // methods and fields  
   .
   .
}  

例子: 在下面的继承示例中,类GFG是基类,类Geeksforgeks是扩展GFG类的派生类,类Sudo是运行程序的驱动程序类。

// C# program to illustrate the
// concept of inheritance
using System;
namespace ConsoleApplication1 {
// Base class
class GFG {
// data members
public string name;
public string subject;
// public method of base class
public void readers( string name, string subject)
{
this .name = name;
this .subject = subject;
Console.WriteLine( "Myself: " + name);
Console.WriteLine( "My Favorite Subject is: " + subject);
}
}
// inheriting the GFG class using :
class GeeksforGeeks : GFG {
// constructor of derived class
public GeeksforGeeks()
{
Console.WriteLine( "GeeksforGeeks" );
}
}
// Driver class
class Sudo {
// Main Method
static void Main( string [] args)
{
// creating object of derived class
GeeksforGeeks g = new GeeksforGeeks();
// calling the method of base class
// using the derived class object
g.readers( "Kirti" , "C#" );
}
}
}


输出:

GeeksforGeeks
Myself: Kirti
My Favorite Subject is: C#

C语言中的继承类型#

下面是C#在不同组合中支持的不同类型的继承。

  1. 单一继承: 在单一继承中,子类继承一个超类的特征。在下图中,类A充当派生类B的基类。

    图片[1]-C#|继承-yiteyi-C++库

  2. 多级继承: 在多级继承中,一个派生类将继承一个基类,并且该派生类也将充当其他类的基类。在下图中,类A充当派生类B的基类,而派生类B又充当派生类C的基类。

    图片[2]-C#|继承-yiteyi-C++库

  3. 层次继承: 在层次继承中,一个类充当多个子类的超类(基类)。在下图中,类A充当派生类B、C和D的基类。

    图片[3]-C#|继承-yiteyi-C++库

  4. 多重继承(通过接口): 在多重继承中,一个类可以有多个超类,并从所有父类继承特征。请注意 C#不支持多重继承 上课。在C#中,我们只能通过接口实现多重继承。在下图中,C类来自接口A和B。

    图片[4]-C#|继承-yiteyi-C++库

  5. 混合继承(通过接口): 它是上述两种或两种以上继承类型的混合。由于C#不支持类的多重继承,因此类也不支持混合继承。在C#中,我们只能通过接口实现混合继承。

    图片[5]-C#|继承-yiteyi-C++库

C语言中关于继承的重要事实#

  • 默认超类 :除了没有超类的对象类外,每个类都有一个且只有一个直接超类(单一继承)。在没有任何其他显式超类的情况下,每个类都隐式地是对象类的子类。
  • 超类只能是一个: 一个超类可以有任意数量的子类。但子类只能有 超类。这是因为C#不支持类的多重继承。虽然有接口,但C#支持多重继承。
  • 继承构造函数: 子类从其超类继承所有成员(字段、方法)。构造函数不是成员,因此它们不会被子类继承,但可以从子类调用超类的构造函数。
  • 私有成员继承: 子类不会继承其父类的私有成员。但是,如果超类具有用于访问其私有字段的属性(get和set方法),则子类可以继承。
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享