📜  演示具有多级继承的抽象类的 C# 程序

📅  最后修改于: 2022-05-13 01:55:47.370000             🧑  作者: Mango

演示具有多级继承的抽象类的 C# 程序

抽象类是实现抽象的方式。它是一个永远不会被直接实例化的特殊类。该类应至少包含一个抽象方法,并在类定义中用 abstract 关键字标记。这个类的主要目的是为派生类提供一个蓝图,并设置一些规则,派生类在继承抽象类时必须实现什么。抽象类可以用作基类,所有派生类都必须实现抽象定义。

语法

abstract class classname
{
    // Method Declaration in abstract class
}

这里,类名是一个抽象类的名称。我们可以在其中声明任意数量的方法

多级继承是一种继承类型,其中派生类将继承基类,并且派生类对其他类的行为也类似于基类。例如,我们有三个名为 class1、class2 和 class3 的类。这里,class3 派生自 class2,class2 派生自 class1。

语法

class GFG : Abstract_Class
{
    // Method definition for abstract method
}

抽象类的多级继承

给定一个抽象类,我们的任务是将抽象类实现到父类中,然后实现多级继承。所以,让我们借助一个例子来理解。

class GFG : Abstract_class
{
   // Method definition for abstract method
}

// First child class extends parent
class GFG2 : GFG
{
    // Method definition
}

// Second child class extends first child class
class GFG3 : GFG2
{
    // Method definition
}

这里,GFG 是父类,GFG2 和 GFG3 是扩展父类的子类。

示例

C#
// C# program to illustrate abstract class 
// with multiple-level Inheritance
using System;
  
// Abstract class
abstract class Abstract_class
{
      
    // Method declaration for abstract class
    public abstract void abstract_method();
}
  
// Parent class
class GFG : Abstract_class
{
      
    // Method definition for abstract method
    public override void abstract_method()
    {
        Console.WriteLine("Abstract method is called");
    }
}
  
// First child class extends parent
class GFG2 : GFG
{
      
    // Method definition
    public void Mymethod1()
    {
        Console.WriteLine("Method from GFG2 class");
    }
}
  
// Second child class extends first child class
class GFG3 : GFG2
{
      
    // Method definition
    public void Mymethod2()
    {
        Console.WriteLine("Method from GFG3 class");
    }
}
  
class Geeks{
      
// Driver code
public static void Main(String[] args)
{
      
    // Creating an object of GFG3 class
    GFG3 obj = new GFG3();
      
    // Call the methods using GFG3 class
    obj.abstract_method();
    obj.Mymethod1();
    obj.Mymethod2();
}
}


输出:

Abstract method is called
Method from GFG2 class
Method from GFG3 class

说明:在本例中,我们创建了一个名为“Abstract_class”的抽象类,并在其中声明了一个名为“abstract_method”的方法。然后我们通过覆盖抽象类的方法创建了一个名为“GFG”的父类。之后,我们创建了第一个名为“GFG2”的子类,它继承了父类,并在其中定义了一个名为“Mymethod1”的方法。然后创建了第二个名为“GFG3”的子类,它继承了第一个子类,并在其中定义了一个方法“Mymethod2”。最后,我们创建了包含 main 方法的主类,然后为第二个子类创建了一个对象(名为“obj”)并调用所有声明的方法并在屏幕上获得输出。