- 规范:.net framework 中的公共字段、公共属性以PascalCasing形式来命名。
- 字段可以使用关键字readonly,表示这个字段自能在执行构造函数的过程中赋值,或由初始化赋值语句赋值。
- virtual & abstract & override:http://www.cnblogs.com/David-Huang/archive/2012/07/24/2606697.htm
- 自动属性:public int MyInt { get; set; }
- 隐藏基类方法(接口中用法相同):
1 public class MyBaseClass 2 { 3 public void DoSth() 4 { 5 Console.WriteLine("BaseClass"); 6 } 7 } 8 9 public class MyDerivedClass : MyBaseClass 10 { 11 new public void DoSth() 12 { 13 Console.WriteLine("DerivedClass"); 14 } 15 }
- base:在派生类内部访问基类成员。
- this:运用this可以一眼看出引用的是成员,而不是局部变量。(增加易读性)
- 可以在基类上实现接口成员;继承一个实现给定接口的基类,就意味着派生类隐式地支持这个接口。
- 可以由类显示地实现接口成员。如果这么做,该成员就只能通过接口来实现,不能通过类来访问。
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 MyClass mycls = new MyClass(); 6 IMyInterface myInterface = mycls; 7 myInterface.DoSomething(); 8 Console.ReadKey(); 9 } 10 } 11 12 public interface IMyInterface 13 { 14 void DoSomething(); 15 } 16 17 public class MyClass : IMyInterface 18 { 19 void IMyInterface.DoSomething() 20 { 21 Console.WriteLine("IMyInterface.DoSomething"); 22 } 23 24 public void DoSomethingElse() 25 { 26 Console.WriteLine("do"); 27 } 28 }
- partial:定义部分类,部分方法
习题:https://files.cnblogs.com/David-Huang/C10.zip