一、类和结构
相同点: 类和结构都是创建对象的模板。每个对象都包含数据,并提供了处理和访问数据的方法。都包含:数据成员(字段、常量和事件)
和函数成员(方法、属性),从某种意义上来说结构是类的缩写版。
区别:1.结构和类的最大区别在于结构是值类型,存放在堆栈中,类是引用类型,存放在堆中
2.结构没有默认的构造函数,没有析构函数,但可以也只能构造带有参数的构造函数。结构不能初始化字段:如
struct a{ int i=0}是错误的,应该 struct a{int i;},只能在初始化的时候赋值:a a1=new a();a1.i=1;
3.结构可以不用new初始化,也可以用new 初始化.
4.结构不能继承,但可以继承接口。而类可以继承。
二、抽象类
只要类中含有abstract关键字。则都为抽象类。抽象类不能实例化,而抽象函数成员没有执行代码。必须在非抽象的派生类中重写。
抽象类可以继承抽象了,但不能继承其他类。可以实现多个接口。
三、接口
声明接口在语法上与声明抽象类完全相同。接口只能包含公共的方法、属性、索引器和
事件的声明。
1.不能实例化接口,接口不能有构造函数或字段。接口定义也不允与包含运算符重载。
2.在接口定义成员时不能包含修饰符
3.不允提供接口中任何成员的执行方式.这与抽象类相同。
4.类继承接口时,必须实现接口中所有的成员。
5.接口不能继承,但可以实现多个接口。
浙公网安备 33010602011771号