1,语义:
类:引用类型(引用语义),需要自己管理其引用计数、引用值得变化
结构体: 值类型(值语义),在设计结构体时,我们可以要求编译器保证不可变性。
2,内存管理方式:
类:类的实例只能通过引用来间接地访问。类能有很多个持有者。
结构体:可以被直接持有及访问,不会被引用,但是会被复制。也就是说,结构体的持有者是唯一的。
3,共享代码:
类: 通过继承来共享代码
结构体 (以及枚举):不能被继承。想要在不同的结构体或者枚举之间共享代码,我们需要使用不同的技术,比如像是组合、泛型以及协议扩展等。
网友评论