为了区分类和结构,我们必须首先了解结构和类在保存和定义数据的上下文中似乎是等效的。这两者都可以在其数据成员中定义并保存一些默认值。但是,如果我们超越这个上下文来考虑它们,那么与结构相比,类提供了更多的灵活性和功能。
以下是类和结构之间的重要区别。
Sr.编号 | 键 | 类 | 结构 | tr>
---|---|---|---|
1 | 数据类型 | 类中定义的数据作为引用存储在内存中,并且具有特定的地址以便访问,因此可以将其表示为类是引用类型。 | 另一方面,在结构的情况下数据成员的值直接存储在堆栈或内联包含类型中,因此结构被视为值类型。 |
2 | 存储 | 如上所述,在 Class 的情况下,数据成员作为引用存储,并且引用类型分配在堆内存上。 td> | 另一方面,在结构中直接存储值,因此值类型分配在堆栈内存上。 |
3 | 构造函数 | 类可以使用构造函数和解构函数来定义,因为它已实现了其功能。 | 另一方面,结构不能有构造函数或解构函数,因为其中没有提供此类实现。 |
4 | 实例化 | 作为通过构造函数引入的类,借助该类可以使用 new 关键字实例化其实例。 | 另一方面,结构无需new关键字即可创建实例。 |
5 | 继承 | 类可以从其父类继承属性,因为它支持继承功能。 | 另一方面,结构不支持继承。 |
Protected 修饰符 | 我们可以对类中定义的数据成员使用 protected 修饰符as Class 支持 protected 修饰符。 | 另一方面 Structure 不支持 protected 修饰符。 |
以上是C# 中类和结构的区别的详细内容。更多信息请关注PHP中文网其他相关文章!