结构体和类最大的区别是在储存空间上
结构体是值类型,存在栈上
而类是引用类型,存在堆上
结构体中有面向对象思想中封装的特性,但是不具备继承和多态的特性
结构体不具备继承特性,所以不能用 protected
访问修饰符
结构体成员变量申明不能指定初始值,而类可以
结构体中不能申明无参构造函数,但是类可以
结构体中不能申明析构函数,但是类可以
结构体需要在构造函数中初始化所有成员变量,而类不用
结构体不能在内部申明和自己一样的结构体变量,而类可以
结构体可以继承接口,因为接口是行为的抽象
如何选择结构体和类
如果想要使用继承和多态时,直接使用类
对象如果是数据集合时,优先考虑结构体,比如位置、坐标等
从值和引用类型的区别上去考虑,如果经常被赋值传递并且改变赋值对象,原对象不想跟着变化时就用结构体,比如坐标、向量、旋转等