- 规范:.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