C#深入浅出 关键字(一)
生活随笔
收集整理的這篇文章主要介紹了
C#深入浅出 关键字(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.this this關鍵字用于指示當前對象“自己”,來看一個例子,了解什么時候需要用this class Star{String name;int age;public void SetInfo(string name,int age){name = name;//注意此處的賦值age = age;//
}public void Show(){Console.WriteLine(name+""+age.ToString());}}
?
?實例化Star,并且調用其中的方法
class Program{static void Main(string[] args){Star star = new Star();star.SetInfo("諸葛亮",50);star.Show();//結果輸出0 Console.ReadKey();}}?
?我們看到輸出的結果與我們預期的不符,于是改寫上面的代碼如下
class Star{String name;int age;public void SetInfo(string name,int age){this.name = name;//注意此處的賦值this.age = age;// }public void Show(){Console.WriteLine(name+""+age.ToString());}}2.base
?
base?關鍵字用于從派生類中訪問基類的成員:
?
-
調用基類上已被其他方法重寫的方法。
-
指定創建派生類實例時應調用的基類構造函數。
?
基類訪問只能在構造函數、實例方法或實例屬性訪問器中進行。
?
從靜態方法中使用?base?關鍵字是錯誤的。
?
示例 ? 在本例中,基類?Person?和派生類?Employee?都有一個名為?Getinfo?的方法。通過使用?base?關鍵字,可以從派生類中調用基類的?Getinfo?方法。 1 // keywords_base.cs 2 // Accessing base class members 3 using System; 4 public class Person 5 { 6 protected string ssn = "444-55-6666"; 7 protected string name = "John L. Malgraine"; 8 9 public virtual void GetInfo() 10 { 11 Console.WriteLine("Name: {0}", name); 12 Console.WriteLine("SSN: {0}", ssn); 13 } 14 } 15 class Employee : Person 16 { 17 public string id = "ABC567EFG"; 18 public override void GetInfo() 19 { 20 // Calling the base class GetInfo method: 21 base.GetInfo(); 22 Console.WriteLine("Employee ID: {0}", id); 23 } 24 } 25 26 class TestClass 27 { 28 static void Main() 29 { 30 Employee E = new Employee(); 31 E.GetInfo(); 32 } 33 }本示例顯示如何指定在創建派生類實例時調用的基類構造函數。
1 // keywords_base2.cs 2 using System; 3 public class BaseClass 4 { 5 int num; 6 7 public BaseClass() 8 { 9 Console.WriteLine("in BaseClass()"); 10 } 11 12 public BaseClass(int i) 13 { 14 num = i; 15 Console.WriteLine("in BaseClass(int i)"); 16 } 17 18 public int GetNum() 19 { 20 return num; 21 } 22 } 23 24 public class DerivedClass : BaseClass 25 { 26 // This constructor will call BaseClass.BaseClass() 27 public DerivedClass() : base() 28 { 29 } 30 31 // This constructor will call BaseClass.BaseClass(int i) 32 public DerivedClass(int i) : base(i) 33 { 34 } 35 36 static void Main() 37 { 38 DerivedClass md = new DerivedClass(); 39 DerivedClass md1 = new DerivedClass(1); 40 } 41 }3.using
轉載于:https://www.cnblogs.com/jaysen/p/4403394.html
總結
以上是生活随笔為你收集整理的C#深入浅出 关键字(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在java中实现日期类型和字符串类型的转
- 下一篇: C# 课堂总结2-数据类型及转换方式