待完善--------------------------------------
-----------
base 关键字用于从派生类中访问基类的成员:
-
调用基类上已被其他方法重写的方法。
-
指定创建派生类实例时应调用的基类构造函数。
基类访问只能在构造函数、实例方法或实例属性访问器中进行。
从静态方法中使用 base 关键字是错误的。
M1:
using System; public class Person { ??? protected string ssn = "444-55-6666"; ??? protected string name = "John L. Malgraine";
??? public virtual void GetInfo() ??? { ??????? Console.WriteLine("Name: {0}",name); ??????? Console.WriteLine("SSN: {0}",ssn); ??? } } class Employee : Person { ??? public string id = "ABC567EFG"; ??? public override void GetInfo() ??? { ??????? // Calling the base class GetInfo method: ??????? base.GetInfo(); ??????? Console.WriteLine("Employee ID: {0}",id); ??? } }
class TestClass { ??? static void Main() ??? { ??????? Employee E = new Employee(); ??????? E.GetInfo(); ??? } }
M2:
using System; public class BaseClass { ??? int num;
??? public BaseClass() ??? { ??????? Console.WriteLine("in BaseClass()"); ??? }
??? public BaseClass(int i) ??? { ??????? num = i; ??????? Console.WriteLine("in BaseClass(int i)"); ??? }
??? public int GetNum() ??? { ??????? return num; ??? } }
public class DerivedClass : BaseClass { ??? // This constructor will call BaseClass.BaseClass() ??? public DerivedClass() : base() ??? { ??? }
??? // This constructor will call BaseClass.BaseClass(int i) ??? public DerivedClass(int i) : base(i) ??? { ??? }
??? static void Main() ??? { ??????? DerivedClass md = new DerivedClass(); ??????? DerivedClass md1 = new DerivedClass(1); ??? } } (编辑:北几岛)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|