ホームページ  >  記事  >  バックエンド開発  >  C#学習日記13---クラスの宣言と定義

C#学習日記13---クラスの宣言と定義

黄舟
黄舟オリジナル
2017-01-20 13:51:401529ブラウズ

オブジェクト指向の魂であるクラスには、C# の非常に広範かつ詳細なアプリケーションがあります。クラスを徹底的に習得することは、当然、C# 学習の重要な部分です。クラスの意味については、C# 学習日記を参照してください。 12---参照型 すでに説明されているので、ここでは繰り返しません。クラスに関しては、それに密接に関連するもの、つまりオブジェクトについて話さなければなりません。同じ属性を持つものからの抽象化 この概念は一般に、類似した個人の集合を説明するために使用されます。

オブジェクト: クラスから具体化された個人。 (たとえば、人間はクラスであり、張三は人間の中のオブジェクトです)

属性: オブジェクトの特性を説明するために使用されます。 (クラスでは、クラスのデータメンバーです^_^)

メソッド: オブジェクトの機能を記述します。 (クラスではクラスのデータメンバーです^_^。C/C++では関数と呼ばれます。将来的には名前を変更します)

イベント: トリガー機能を持つ関数 (メソッドとは異なり、イベントは受動的であり、外部のものによって発行され、受信者はオブジェクトであり、メソッドはクラスのデータメンバーであるオブジェクトによってアクティブに発行されるアクションです)

クラスの定義:

クラスの定義はキーワード class で始まり、その後にクラス名が続きます。クラスの本体。中括弧で囲みます。

访问修饰符 class  类名
   {
        访问修饰符数据成员;
   }

例:

 public class Student
      {
            private string name;
            private int age;
     }

クラス内のデータ メンバーにアクセスする方法は、Struct 型と同じです。 (オブジェクトの名前とオブジェクトの名前をリンクする) ドット演算子を使用する必要があります。メンバー) のアクセス修飾子については、ここでプライベート、パブリック、内部について少し説明します (詳細は後ほど説明します):

プライベート アクセス。アクセスは、このクラスのメンバーに制限されます。サブクラスおよびインスタンス (オブジェクト) はアクセスできません (つまり、クラス自体から呼び出すことができます)。

パブリック: パブリックアクセス。制限なくすべてのクラスにアクセスできます。

内部: 同じアセンブリ内のすべてのクラスにアクセスできます。これは、パブリック アセンブリ コレクションの 1 つと考えることができます。

アクセス修飾子が指定されていない場合、関連するアクセス許可はデフォルトのアクセス許可を使用します。クラスのデフォルトのアクセス許可は内部であり、メンバーのデフォルトのアクセス許可は、将来アクセス許可に関連する問題が発生した場合に使用されます。必ず読んでください。アクセス修飾子が指定されていないか、不適切に使用されていないか確認してください。

オブジェクトの作成:

新しいステートメントを使用します。上記で定義したクラスを例に挙げます: Student stu = new Student(); このとき、Student クラスのコンストラクター (一般に初期化関数として理解されます。コンストラクターとデストラクターについては後で説明します) が呼び出されます。がない場合、デフォルトでは、データ メンバーには 0 が割り当てられます。

以下の例を作成します。これと名前を除いて Struct 型の間には?? 上記のプログラムには実際には違いはありません (すべてのメンバーが Public です)。これを見てください:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test  
{   //定义的一个类,类名叫People  
    public class People  
    {   
      //全部指定为公有成员  
        public string name;      
        public char sex;          
        public uint age;  
      
    }  
  
    class Program  
    {  
         
        static void Main(string[] args)  
        {  
            People person = new People();        //实例化一个类,对象名叫 person  
            Console.WriteLine("输入姓名: ");  
            person.name = Console.ReadLine();   //  全部轻松访问,没有压力   
            Console.WriteLine("请输入性别:");  
            person.sex = Console.ReadKey().KeyChar;    //char 类型转换  
            Console.WriteLine("\n请输入年龄:");  
            person.age = uint.Parse(Console.ReadLine());   //强制类型转换  
            Console.WriteLine("您的姓名是:{0}\t您的性别是:{1}\t您的年龄是:{2}",person.name,person.sex,person.age);  
  
        }  
    }  
}

クラス内では、上記とまったく同じように実行されます。メソッドを定義できます (上記の入力と出力は 2 つのメソッドです)。Struct 構造体でメソッドを定義することはできません。また、People クラスのプロパティをプライベート メンバーとして指定します。外部オブジェクト person には直接アクセスできません。 People で指定された Public メソッドを通じてアクセスできます。例: 電話をするときは、対面でコミュニケーションするのではなく、携帯電話という媒体を通じて情報を交換します。このとき、携帯電話は公共の手段の 1 つと見なすことができます。はクラス内のプライベート メソッドであり、I はこのクラスによってインスタンス化されたオブジェクトです。

上記はC#学習日記13---クラスの宣言と定義の内容です。その他の関連内容については、PHP中国語Webサイト(www.php.cn)をご覧ください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。