类与结构
面向对象编程语言的一些主要概念是封装、继承和多态性。类和结构是OO构造/工具中的两种,它们帮助程序员在大多数现有的OO编程语言中实现这些概念(Java不提供结构)。类是现实世界对象的抽象表示。结构与具有相似用途的类非常相似,但与类相比几乎没有限制。类和结构都用于将相似类型的数据组合在一起。
什么是班级?
类描述真实世界对象的抽象表示,而关系描述每个类如何与其他类连接。类和关系都有称为属性的属性。类中的方法表示或定义这些类的行为。类的方法和属性称为类的成员。通常,封装是通过使属性私有化来实现的,同时创建可用于访问这些属性的公共方法。对象是类的实例。继承允许用户从其他类(称为超级类)扩展类(称为子类)。多态性允许程序员用一个类的对象代替它的超类的对象。通常,在问题定义中找到的名词直接成为程序中的类。同样,动词变成了方法。Public、private和protected是类的典型访问修饰符。类图显示系统的类、类之间的关系及其属性。
什么是结构?
如前所述,结构与具有类似用途的类非常相似,但与类相比,它们的功能稍有局限。实际上,类可以看作是结构的扩展。例如,结构与C++类相同,但默认情况下它们具有公共成员。用户可以定义一个结构来表示复合类型。与类类似,结构包含可以属于多种类型的成员。关键字结构用于定义C和C++中的结构,而关键字结构用于.NET编程语言中的相同结构。
类和结构之间的区别是什么?