《学习总结》抽象类,接口和结构体
抽象类和接口都包含可以由派生类继承的成员,都不能实例化。但可以通过声明类型的变量来访问
一个类可以继承多个接口,但是只能继续一个抽象类。
在抽象类中可以有抽象成员和非抽象成员,抽象成员必须在派生类中得到重写(除非派生类也是抽象类),非抽象成员也可以有代码体也可以是虚拟的,这样就能在派生类中得到重写。
接口定义了规范,要继承接口就必须要遵守接口的规范。接口中定义了属性和方法,不能包含字段,静态成员,构造函数,析构函数和常量。必须在派生类中将他们重写。
接口是公共的,抽象类中可以有私有成员,受保护的。
抽象类主要用作对象系列的基类,共享某些主要特性。例如,共同的目的和结构。
接口则主要用于类,这些类在基础水平上有所不同,但仍可以完成相同的任务。
派生类必须完成接口所发布的所有任务才能够引用他,而抽象类则不同,派生类可以有选择的(抽象函数)的对他们进行重写。
--------------------------------------
结构体和类的定义和用法有些相似之处,而不同的是。结构体是值类型的,分配在内存上的栈。类是引用类型的,分配在内存的堆上的。