2017-02-12 20 views
-5
using System; 
class Program 
{ 
    class Person { 
     protected int Age {get; set;} 
     protected string Name {get; set;} 
    } 
    class Student : Person { 
     public Student(string nm) { 
      Name = nm; 
     } 
     public void Speak() { 
      Console.Write("Name: "+Name); 
     } 
    } 
    static void Main(string[] args) 
    { 
     Student s = new Student("David"); 
     s.Speak(); 
    } 
} 

--->出力:名前:私たちは '取得' とメソッドを使用 'セット' している上記のコードでデビッド誰でも下記のコードを説明できますか?

...今

...システムを使用して

。 クラスプログラム { クラスPerson {

​​

は--->出力:名前:デビッド

ここで私は、 '取得' と '設定' メソッドを削除したが、出力は同じでした。次に、これらのメソッドの使用は何ですか?

+1

あなたの質問は不明です。あなたが投稿したコードに 'get'や' set'という名前のメソッドはありません。 –

+0

'get'と' set'を持たないクラスで宣言された項目は、プロパティではなくフィールドとみなされます。フィールドは異なる方法で処理されます。実際の関数を持たない '{get; set;}'は "auto property accessors"と呼ばれ、項目を自動バッキングフィールドを持つプロパティにします。例として – Claies

+1

の場合、 'Student.Name'は最初の例では動作しますが、2番目の例では動作しません。 – Claies

答えて

2

間違った入力がないことを確認したり、プロパティが変更されたときに基本的に追加コードを実行したりすることができます。

関連する問題