继承-关键字new,base
关键字new,重写基类成员变量
1 public class Base
2 {
3 protected static int val = 123;
4 }
5 public class Derive : Base
6 {
7 public static new int val = 456;
8 static void Main(string[] args)
9 {
10
11 Console.WriteLine(val);
12 }
13 }
2 {
3 protected static int val = 123;
4 }
5 public class Derive : Base
6 {
7 public static new int val = 456;
8 static void Main(string[] args)
9 {
10
11 Console.WriteLine(val);
12 }
13 }
关键字base:
其用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中,MSDN中小结的具体功能包括:
- 调用基类上已被其他方法重写的方法。
- 指定创建派生类实例时应调用的基类构造函数。
1class Employee
2 {
3 public virtual void GetInfo()
4 {
5 Console.WriteLine("此方法显示职员信息");
6 }
7
8 }
9 class DvrEmployee : Employee
10 {
11 public override void GetInfo()
12 {
13 base.GetInfo();
14 Console.WriteLine("此方法重写基类方法");
15 }
16 }
2 {
3 public virtual void GetInfo()
4 {
5 Console.WriteLine("此方法显示职员信息");
6 }
7
8 }
9 class DvrEmployee : Employee
10 {
11 public override void GetInfo()
12 {
13 base.GetInfo();
14 Console.WriteLine("此方法重写基类方法");
15 }
16 }