类和结构体的区别

Posted jefy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类和结构体的区别相关的知识,希望对你有一定的参考价值。

 

1.类是引用类型,结构是值类型;类被存储在堆上,结构存储在栈上。

2.类中包含的成员:字段,属性,方法,构造函数。
结构中的成员:字段,属性,静态和非静态方法,构造函数。
类中的构造函数既可以给字段赋值,也可以给属性赋值;结构中的构造函数只能给字段赋值。且结构的构造函数需要对全部的字段赋值,不能选择性的给字段赋值。

3.结构中new一个对象时,不能在堆中开辟空间,因为结构是值类型,只能在栈上开辟空间。

4.结构和类本身都具有一个默认的构造函数。类中显示的定义构造函数,则默认的构造函数消失,而在结构中,显示的定义构造函数,默认的构造函数仍然存在。

5.结构中的静态方法只能用结构名调用,但结构中的非静态成员,使用对象名调用。

6.如果是单纯的存储数据,推荐使用结构,然而要实现面向对象的功能则使用类来实现。

 23:32:10



以上是关于类和结构体的区别的主要内容,如果未能解决你的问题,请参考以下文章

Swift 结构体和类的区别

Swift中结构体和类的区别

类和结构体的区别

C++——class类和struct结构体的唯一区别

c++的类和结构体是啥关系

Swift之深入解析类和结构体的本质