相同点: - 定义属性用于存储值 - 定义方法用于提供功能 - 定义附属脚本用于访问值 - 定义构造器用于生成初始化值 - 通过扩展以增加默认实现的功能 - 实现协议以提供某种标准功能
不同点: - 继承允许一个类继承另一个类的特征 - 类型转换允许在运行时检查和解释一个类实例的类型 - 解构器允许一个类实例释放任何其所被分配的资源 - 引用计数允许对一个类的多次引用
类和结构体的选择 按照通用的准则,当符合一条或多条以下条件时,请考虑构建结构体: