C#.5クラス

4321 ワード

等級は何ですか。


クラスは変数やメソッドなどを組み合わせた特殊な形式の資料型である.クラスはオブジェクト向けプログラミングにおいて非常に重要な要素の一つであり、それを理解するには、まずオブジェクト向けプログラミングを理解する必要がある.
オブジェクト向けプログラミングとは、すべてのプログラミング要素をオブジェクトとし、これらのオブジェクトのインタラクションに基づいてプログラミングを行うことです.
オブジェクト向け言語にはこのような特徴があります

継承



↑WorkItemはObjectを継承し、ChangeRequestはWorkItemを継承します.
クラスは他のクラスから機能を得ることができ、新しいクラスになります.継承されたクラスは、ソースクラスの開始者、ターミネータが保護された変数などを除くすべてのコンポーネントを受信します.
これにより、必要に応じてコードを変更するだけで使用でき、拡張が非常に柔軟になります.

カプセル化


客体の接近を制限する.オブジェクトの内部で外部表示と非表示を定義し、これを非表示にします.
また,相手の内部で起こったことを隠して伝えることで,相手間のコミュニケーションを実現する.外部への影響を最小限に抑えることができます.

たけいせい


1つの方法またはオブジェクトは、複数の機能を有することができる.メソッド、演算子overloadingなどは多形性を実現する代表的な機能である.
これらのコンポーネントはオブジェクト向けプログラミングの核心です.

クラスの作成


クラスを生成するときに使用するnewキーワードは、新しいインスタンスを作成するキーワードであり、newキーワードを使用すると、クラスのジェネレータがロードされます.クラスは基本的に参照形式なので、作成時にメモリが動的に割り当てられます.


次のコードでは、各コンポーネントを以下に示します.
namespace ConsoleApp1
{
    public class test
    {
        void tell_me()//메소드 
        {
            Console.WriteLine("hello Test");
        }
        public test()//생성자
        {
            tell_me();
        }
    }
    class program
    {
        static void Main(string[] args)
        {

            test Test = new test();//개체 선언 test에 기반을 둔 Test객체를 선언함.

        }
    }
}
クラス内のすべてのコンポーネントにアクセス制限子を付けてカプセル化できます.上のpublicはアクセス制限子で、C#が提供するアクセス制限子は以下の通りです.

近接限定子はカプセル化の最も重要な要素の一つであり、安全性の非常に重要な部分でもある.

方法


メソッドは基本的に関数とも呼ばれ、メソッドは特定のコードを結合した集合に近い.メソッドの構成は次のとおりです.
한정자 반환 형식 메소드_이름 (매개 변수들)
{
	실행시킬 코드 
    
    return 반환할 객체;
}

生成者


ジェネレータは、クラスを作成するときに一緒に実行されるコードを含むクラスと同じ名前のメソッドです.上のコードではpublic testが中のtell me()メソッドを実行し、結果値hello testのように宣言すればすぐに実行できます.
ジェネレータが個別に作成されていない場合、C#はジェネレータを暗黙的に作成して処理します.

This


これは、基本的に現在のインスタンスを指すキーワードです.同じ名前のメンバーでも、クラス内のオブジェクトを指定します.


また、オブジェクト全体をインデックスに渡したり宣言したりすることもできます.
出版する
  • モノクロメディアこれはC#です.183P, 213P
  • https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/
  • https://docs.microsoft.com/ko-kr/dotnet/csharp/tutorials/intro-to-csharp/object-oriented-programming
  • https://mystyle1057.tistory.com/entry/%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5%EC%9D%98-%EA%B0%9C%EB%85%90
  • https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/polymorphism
  • https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/operators/new-operator
  • https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/language-specification/expressions#the-new-operator
  • https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/constructors