1.封装
理解:将类里面的成员变量和方法私有化,如果外界要访问,向外界提出一个统一访问的方法。
(对成员变量的封装,对方法的封装)
好处:减少耦合,防止外界修改。
实现方式:
(1)编写Public方法进行私有变量或方法的封装。
(2)属性。
2.继承
理解:创建新的类(派生类/子类),可以继承现有类(基类/父类)的特性,并且还可以进行修改和扩充。
父类访问修饰符:
子类:Public v 、protected v 、private x
外界:Public v 、protected x 、private x
3.多态
理解:父类类型可以接收子类对象,以至于调用同样的方法产生不同的结果。
(接口也是实现多态的一种方式)
4.值类型和引用类型
值类型:其余类型(值直接存储在栈中)
引用类型:数组、类、string、接口、委托(栈内存中存储的是地址,用来指向堆内存中的值)
栈:内存不受我们控制,使用完成后,释放也不受GC的控制。
堆:内存受我们控制,必须通过代码开辟,释放受GC控制。
5.抽象类
理解:提供了部分功能的实现,不能被实例化的类,除了不能实例化和和可能包含抽象方法两个特点,其余使用和正常类一样。
6.接口
理解:同样不能被实力化,包含的方法必须在继承该接口的类上实现,一个类可以继承多个接口,C#就是通过接口来解决了多继承的问题。(接口中所有的方法默认都是public)
7.委托
理解:是保存方法的特殊变量类型,主要解决回调问题。
8.重写和重载
理解:
重写:对在子类中与父类中的虚方法/抽象方法对应的方法的修改。
重载:在同一个类中,方法名相同,参数不同的方法。