/*************** 基础 ***************/
1.new关键字
a.创建对象
- 在堆中开辟空间
- 在开辟的堆空间中创建对象
- 调用对象的构造函数(默认构造函数)
b.隐藏父类的成员
class Person { public void SayHello() { } } class Student : Person { //使用new关键字显示隐藏父类的方法 public new void SayHello() { } }
2.this关键字
a.代表当前类
class Person { string name = "aa"; public void SayHello() { //局部变量的优先级高于类的成员变量,如果不用this则输出bb string name = "bb"; //用了this实际输出aa Console.WriteLine(this.name); } }
b.显示调用自己的构造函数
public Person(int age,string name,string gender) { Age = age; Name = name; Gender = gender; } //显示调用自己的构造函数,重用了构造函数的代码 public Person(int age,string name,string gender,string chinese, string english) : this(age, name, gender) { Chinese = chinese; English = english; }
3.base关键字
a.显示调用父类的构造函数
public class Person { public Person(int age,string name,string gender) { } } public class Student : Person { //显示调用父类的构造函数 public Student(int age, string name, string gender) : base(age, name, gender) { } }
b.显示调用父类的成员
public class Person { public void SayHello() { } } public class Student : Person { public void SayHI() { //显示调用父类的成员 base.SayHello(); Console.WriteLine(""); } }