例を含む C# 抽象クラスのチュートリアル:抽象化とは?
C# の抽象クラスとは?
抽象クラス インスタンス化することはできず、abstract キーワードでマークされます。抽象クラスには、0 個以上の抽象メソッドが含まれています。抽象クラスは基本クラスとして機能し、そのメソッドを実装またはオーバーライドするサブクラスによって継承されるように設計されています。
以下の例でC#の抽象クラスを学びましょう。以下は「アニマル」というクラスの定義です。「アニマル」クラスが定義されている場合、犬であろうと猫であろうと、動物について何も知られていません。 description と呼ばれるメソッドは、クラス用に定義されたジェネリック メソッドです。
Animal が正確にどうなるかがわかったら、基本クラスを継承する別のクラスを作成します。動物が実際に犬であることがわかっている場合は、メインの基本クラスを継承する Dog クラスを作成します。ここでの重要な違いは、Dog クラスは Animal クラスの Description メソッドの定義を変更できないことです。 Dog-Description という独自の C# 抽象メソッドを定義する必要があります。これが C# 抽象クラスの基本概念です。
C# で抽象クラスを作成する
C# 抽象クラスを含めるようにコードを変更する方法のリアルタイムの例を使用して、C# の抽象クラスを見てみましょう。 C# 抽象化クラスを使用して実行できるものは何もないため、コードを実行しないことに注意してください。
ステップ 1) 最初のステップとして、抽象クラスを作成しましょう。このクラスは Tutorial と呼ばれ、メソッドは 1 つだけです。すべてのコードを Program.cs ファイルに記述する必要があります。
コードの説明:-
<オール>ステップ 2) 次に、子クラスを追加しましょう。このコードは Program.cs ファイルに追加されます。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
abstract class Tutorial
{
public virtual void Set()
{
}
}
class Guru99Tutorial:Tutorial
{
protected int TutorialID;
protected string TutorialName;
public void SetTutorial(int pID,string pName)
{
TutorialID=pID;
TutorialName=pName;
}
public String GetTutorial()
{
return TutorialName;
}
static void Main(string[] args)
{
Guru99Tutorial pTutor=new Guru99Tutorial();
pTutor.SetTutorial(1,".Net");
Console.WriteLine(pTutor.GetTutorial());
Console.ReadKey();
}
}
} このコードに例外はありません。抽象チュートリアル クラスを継承する「Guru99Tutorial」というクラスを定義するだけです。次に、以前から使用していたのと同じメソッドを定義します。
注:
ここでは、Tutorial クラスで定義された Set メソッドの定義を変更することはできません。 Tutorial クラスでは、「Set」(public virtual void Set()) というメソッドを定義しました。このメソッドは抽象クラス C# の一部だったので、Guru99Tutorial クラスで Set メソッドを再度定義することはできません。
まとめ
C シャープの抽象クラスは、クラスがどのように見えるべきかという非常に基本的な要件を持つ基本クラスです。子クラスが基本クラスのメソッドを継承することはできません。
C言語