实体是类的实例吗?
答案 0 :(得分:43)
类是对象的模板(除其他外),是一个非常通用的概念。
实体具有更多的语义意义,通常与概念相关(可能与某个真实对象有关,例如 Employee 或 Student 或音乐专辑)并链接到业务逻辑。
实体通常用于在对象和数据库中的表之间建立映射。实体也称为域对象。就像我之前提到的那样,实体将用于存在业务逻辑的情况,因此它包含有关正在建模的系统(或系统的一部分)的信息。
答案 1 :(得分:10)
再添加一个点
类是句法,即具有某些共同属性或属性的事物的集合或类别,并按类型,类型或质量区别于其他属性。
实体是语义,即与语言或逻辑中的含义相关。实体本身存在,实际上或潜在地,具体地或抽象地,物理地存在或不存在。它不一定是物质存在。
对象是标识符引用的内存中值,它是类的实例。
答案 2 :(得分:7)
实体通常指的是具有独特且独立存在的东西。
在软件开发中,这个词几乎只用于表示一个实例与另一个实例不同,并且它们彼此独立。
类,另一方面,定义或包含对象的定义。根据定义构建该对象后,您将获得实例或对象实例。
答案 3 :(得分:3)
简短 - 是的。
实体更像是来自现实世界的概念。 实例(别名是对象) - 来自编程世界。
在编程世界中,我们也有一个“实体”概念,但在这里它更像是一个实例的孩子。所以任何实体都是实例的孩子。实体也有它与其他东西的链接,但编程 - 例如,正如人们所说 - 实体可以在数据库中拥有表格。 实例不能在DB中有表。因为实例总是连接到类。
答案 4 :(得分:2)
答案 5 :(得分:1)
我从Nimit Singhania的“基于实体的编程范例” this paper中复制。宾夕法尼亚大学:
实体是一个抽象单元,代表一组 节点或子实体。它使用其提供的服务 子实体以及这些子实体之间的协作 实现其所需的目标。它具有自己的身份并出现 作为外部世界的一个整体 一个团队或组织的生活是一个整体,而不仅仅是一个 个人集合。分布式系统本质上是 实体层次结构,其中每个实体都有特定的角色 并提供特定服务[...]
[...]实体抽象与object中的对象非常相似 面向程序设计。对象之间的关键区别 实体是一个实体是活跃的和活的 一个物体是被动的实体由活动实体组成 彼此互动以提供服务,以及 可能与其他实体互动。鉴于 对象仅包含静态字段和可以 被外部世界查询和操纵。但是很多 可以从面向对象的编程中获得见解 转到此编程范例。我们可以上课 和实体类型,其中类可以提供特定的 系统其余部分的服务和功能。也, 我们可以定义实现核心的抽象实体 结构和一些基本的交互协议 节点,这些可以进一步扩展以实现实际 实体。同样,我们可以定义定义 一套服务。这些接口可以通过以下方式实现 具有不同担保且基于 需求,程序员可以选择其中之一 提供所需的服务。
答案 6 :(得分:0)
实体
实体是轻量级的持久性域对象。通常,实体代表关系数据库中的表,每个实体实例对应于该表中的一行。实体的主要编程工件是实体类,尽管实体可以使用助手类。 实体的持久状态通过持久字段或持久属性表示。这些字段或属性使用对象/关系映射注释将实体和实体关系映射到基础数据存储区中的关系数据。
实体类具有实体的构造型。实体类本质上是数据库表的对象包装。实体的属性将转换为数据库表上的列。实体可以进行各种数据维护操作,例如读取,插入,修改,删除,readmulti(read multi基于部分键从表中读取多个记录)。
实体可以具有属性,操作,依赖项,继承关系和聚合。这些构造中的每一个都与一组规则相关。
实体类规则
实体必须至少具有一个属性。如果该实体是另一个实体的子类,则例外,在这种情况下,该实体必须没有属性。实体不允许聚合其他类。
实体属性
实体属性与关联的数据库表上具有相同名称的列相对应。
实体操作
实体操作根据其构造型可以分为两类:数据库操作和非数据库操作。
实体输出
实体类被转换为具有操作且没有属性的类。输入元模型中来自实体的属性被转换为一个或多个结构。
实体类选项
可用于实体类的选项包括实体类摘要,允许乐观锁定,审核字段,启用验证,最后更新的字段,未生成的SQL以及替换超类。
用于并发控制的乐观锁定
使用乐观锁定进行并发控制意味着一次可以有多个用户访问一条记录,但是这些用户中只有一个可以提交对该记录的更改。
表级审核
使用数据库表级审核选项可以启用表级审核。
退出点
出口点是您编写的回调函数。它由服务器在预定义的战略要点执行。
实体继承
输入的元模型实体类可以继承其他实体类。
最后更新的字段
最后更新的字段是一个字段,您可以将其添加到数据库表中,以包含有关每个记录的修改时间的额外信息,以用于报告目的。