C#の補足知識(3):クラス

黄舟
リリース: 2017-02-07 15:15:09
オリジナル
1104 人が閲覧しました

は抽象的な概念です。

たとえば、Dog クラスは、体重、身長、年齢、鳴き声など、犬のいくつかの特徴を記述します。

public class Dog
  {
  string dogBreed;//犬种
  int weight; //体重
  int height; //升高
  int age; //年龄
  public void bellow()
  {
  Console.WriteLine("旺旺");
  }
  }
ログイン後にコピー

この Dog クラスは抽象的であり、特定の犬ではなく、いくつかの特性を説明します。

Dog クラスに属する近所の犬「ダハ」を定義しましょう。

Dog Daha = new Dog();

「Daha」のオブジェクトをインスタンス化し、これで「Daha」は具体的な存在になります。その後、「Daha」オブジェクトについて詳細な説明を与えることができます。たとえば、「ダハ」の犬種はハスキー、体重は35キロなどです。

Daha.dogBreed = "Husky";

Daha.weight = 35;

……

「Daha」を吠えさせましょう

Daha.bellow(); 注: プロパティは、 Dog クラスに直接割り当てられます。 int = 8; と同様、意味がありません。特定の犬を参照せずに、犬の体重、身長、品種が同じであるとは言えません。

クラスの最大の利点は、エンティティのプロパティと動作を独立したコード単位にカプセル化できることです。上記の例によれば、Dog クラスは犬の品種、身長、体重、年齢属性、および咆哮メソッドをカプセル化します。

アクセスタイプには、Public、Private、Protected (継承によってアクセス可能)、internal、および Protected external (継承によってアクセス可能) があります。クラス、フィールド、メソッド、プロパティ、およびコンストラクターで使用できます。

クラスにはフィールド、プロパティ、コンストラクター、メソッドを含めることができます。

クラスメンバーメソッド:

構文:

アクセスタイプ 戻り値の型メソッド名 (パラメーターを受け入れる)

{メソッド本体}

アクセスタイプのデフォルトは public

例:

  Public void Method(int i , string s,…….)
  {方法体}
ログイン後にコピー

複数のメソッド: メソッド名は同じ、パラメータ 異なる

public string d(int i , int j)
  { }
  public void d(string i)
  { }
  public void d(int i)
  { }
  public int d(char d)
  {
  return 0;
  }
ログイン後にコピー

クラスコンストラクタ:

newはオブジェクト作成時にメンバ変数を初期化します。コンストラクタの関数名はクラス名と同じです。複数のメソッドと同様に、複数のコンストラクターが存在する可能性があります。

例:

class Dog
  {
  Public Dog(string dogBreed,int Weight)
  {
  weight = Weight;
  this.dogBreed = dogBreed;
  }
  Public Dog(string dogBreed)
  {
  this.dogBreed = dogBreed;
  }
  string dogBreed;//犬种
  int weight; //体重
ログイン後にコピー

}

上記の例には、異なるパラメーターを受け入れる 2 つの複数のコンストラクターが含まれています。

これは現在のインスタンス(現在のオブジェクトを参照)、Dog インスタンスの DogBreed フィールドを表します。

クラスのメンバー変数(フィールド):

上記の例では、dogBreedとweightがこのクラスのメンバー変数です。コンストラクターで各変数を初期化するのではなく、定義時に初期化することもできます。

クラスメンバーの属性:

C# は get; を提供します。属性を使用してクラス データをカプセル化します。

例:

private int height;
  public int Height
  {
  get { return weight; } 读取
  set { weight = value; } 赋给
  }
ログイン後にコピー

上記の例では、他のクラスは高さを直接読み取ることができず、アクセサーを介してのみアクセスできます。

アクセスタイプは、get set の前に設定できます。

オブジェクトの破棄:

C# でのデストラクター、デストラクター宣言:

~textClass()
  {
  析构处理
  }
ログイン後にコピー

次のように書くこともできます:

 textClass.Finalize()
  {
  析构处理
  Base.Finalize();
  }
ログイン後にコピー

以上が C# の豆知識 (3): クラスの内容、その他関連コンテンツについては、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート