变量命名
- 变量名称有意义
- 命名规范
命名方法 | 规则 | 用于 | 例如 |
---|---|---|---|
Camel | 首字母小写,其余单词首字母大写 | 字段(前面加下划线)和变量 | _highSchool |
Pascal | 每个单词的首字母均大写 | 方法 | GetMax() |
进程
- 一个应用程序就是一个进程,一个进程是由多个线程组成
- 进程帮助我们在内存中分配应用程序执行所需要的空间
- 可通过进程来直接操作应用程序
类和对象
- 类:决定了对象将要拥有的属性和行为。
- 封装:
- 1.减少了大量的冗余代码
- 2.封装将一些很难理解的功能封装起来,但是对外提供了一个很简单的使用接口,我们会用就可以了。
- 继承:
- 1.减少了类中的冗余代码
- 2.让类与类产生了关系,为多态打下了基础
- 3.特性:
- 单根性:一个子类只能有一个父类
- 传递性:子类可以使用父类的父类中的方法
- 4.里式转换:
- 1.子类可以赋值给父类
- 2.若父类中装的是子类对象,则可以将这个父类转换为对应的子类
- 关键字
- is :返回bool类型,指示是否可以进行转换
- as :若转换成功,则返回对象,否则返回null
- 作用:将所有的子类都当成父类来看,针对父类进行编程,写出通用代码,适应需求的不断改变
- 关键字
- 多态:不同对象收到相同的消息时,会产生不同的行为,同一个类在不同的场合下表现出不同的行为特征。
- 多态的作用:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
- 1.虚方法 virtual override
- 2.抽象类 abstract override
- 3.接口 interface
- 封装:
关键字
-
new
- 创建对象:在堆中开辟空间,在开辟的堆空间中创建对象,调用对象的构造函数
- 隐藏父类的成员
-
this
- 代表当前类的对象
- 显式的调用自己的构造函数
-
base
- 显示调用父类的构造函数
- 调用父类的成员
-
局部变量优先级高于成员变量
访问修饰符
- public:公共的,在哪都可以访问
- private:私有的,只能在当前类的内部进行访问。
- internal:只能在当前程序集中访问。
- protected:受保护的,可以在当前类以及该类的子类中访问。
类的访问修饰符
- public
- internal(默认)
- 在同一个项目中,public的权限和internal的权限是一样的。
- 子类的访问权限不能高于父类。