命名规范
- Camel:多用于给变量或字段命名,第一个单词的首字母小写,其余每个单词的首字母大写.给字段命名,前面必须加下划线. 如 _highSchoolStudent
- Pascal:每个单词的首字母都要大写,其余每个单词的首字母小写.如 Highschoolstudent
进程
一个应用程序就是一个进程,一个进程包含多个线程.
VS快捷键
- 导入命名空间 Alt+Shift+F10
- 封装属性 Ctrl+R+E
- 自动属性 prop+两下tab
关键字
new
- 创建对象
- 隐藏父类的成员
Class Person
{
public void SayHello()
{
Console.WriteLine("我是人类");
}
}
Class Student : Person
{
public new void SayHello() //彻底隐藏了父类的SayHello()成员函数
{
Console.WriteLine("我是学生");
}
}
```
###### this
1. 代表当前类的对象
2. 显式的调用自己的构造函数
```
public Teacher(string name, int age, char gender) : this(name, age, gender, 0, 0, 0){}
```
###### base
1. 显式调用父类的构造函数
2. 调用父类的成员
###### 面向对象
####### 封装
* 减少大量的冗余代码
* 封装将实现的代码封装起来,对外提供一个很简单的使用接口
####### 继承
* 减少了类中的冗余代码
* 让类与类产生了关系,为多态打下了基础
* 单根性:一个子类只能有一个父类
* 传递性
###### 里式转换
* 子类可以赋值给父类
* 如果父类中装的是子类对象,则可以将这个父类转换为对应的子类对象.(is返回bool类型,哦按段是否可以做这个转换;as如果转换成功,则返回对象,否则返回null)
* 作用:可以将所有子类都当做是父类来看,针对父类进行编程,写出通用的代码,