it-swarm.com.de

Was ist der Unterschied zwischen Entität und Klasse?

Ist die Entität eine Instanz der Klasse?

31
Steven

Eine Klasse ist (unter anderem) eine Vorlage für ein Objekt und ein sehr allgemeines Konzept.

Eine Entität hat eine größere semantische Bedeutung und ist in der Regel an ein Konzept (möglicherweise über ein reales Objekt, beispielsweise einen Angestellten oder einen Student oder ein Musikalbum ) gebunden verknüpft mit Geschäftslogik. 

Entitäten werden normalerweise verwendet, um eine Zuordnung zwischen einem Objekt und einer Tabelle in der Datenbank herzustellen. Entitäten werden auch als Domänenobjekte bezeichnet. Wie ich bereits erwähnt habe, werden Entitäten in Situationen verwendet, in denen Geschäftslogik vorhanden ist, und als solche Informationen über das System (oder einen Teil des Systems) enthalten, das es modelliert.

41
Vivin Paliath

Einen weiteren Punkt hinzufügen 

Class ist ein syntaktisch, d. H. Eine Menge oder Kategorie von Dingen, die eine Eigenschaft oder ein Attribut gemeinsam haben und nach Art, Typ oder Qualität von anderen unterscheiden.

Entity ist ein semantisch, d. H. Bezogen auf die Bedeutung in Sprache oder Logik. Eine Entität ist etwas, das in sich tatsächlich oder potentiell, konkret oder abstrakt, physisch oder nicht vorhanden ist. Es muss nicht von materieller Existenz sein.

 enter image description here

9
Premraj

Ein entity bezieht sich normalerweise auf etwas, wirklich etwas, das eine eindeutige und getrennte Existenz hat. 

In der Softwareentwicklung wird dieses Wort fast nur verwendet, um anzuzeigen, dass sich eine Instanz von einer anderen Instanz unterscheidet und sie unabhängig voneinander sind.

Eine Klasse dagegen definiert oder enthält die Definition eines Objekts . Sobald dieses Objekt basierend auf der Definition erstellt wurde, erhalten Sie Ihre Instanz oder Objektinstanz .

7
Jon Limjap

Kurz - ja.

Entität ist mehr ein Konzept aus der realen Welt. Instanz (Alias ​​ist Objekt) - aus der Programmierwelt.

In der Programmierwelt haben wir auch ein "Entity" -Konzept, aber hier ist es eher ein Kind einer Instanz. Also ist jede Entität ein Kind der Instanz. Entity hat auch Verknüpfungen zu anderen Dingen, außer der Programmierung - zum Beispiel, wie die Leute sagen - Entity kann eine Tabelle in der DB haben. Die Instanz kann keine Tabelle in der DB haben. Da Instanz immer mit Klasse verbunden ist.

3
gaRex

Ein object ist ein entity mit Status, Verhalten und Identität. Die Struktur und das Verhalten von ähnlichen Objekten sind in ihrer gemeinsamen Klasse definiert. Die Begriffe instance und object sind austauschbar.

Aus Grady Booch Buch .

Wir könnten also sagen, dass Entität, Objekt und Klasseninstanz austauschbar sind.

2

Ich kopiere aus diesem Papier , "Entity based Programming Paradigm", Nimit Singhania. Universität von Pennsylvania:

Eine Entität ist eine abstrakte Einheit, die eine Gruppe von .__ darstellt. Knoten oder Unterentitäten. Es nutzt die von ihm angebotenen Dienste Sub-Entities und die Zusammenarbeit zwischen diesen Sub-Entities zu die erforderlichen Ziele erreichen. Es hat seine eigene Identität und erscheint als einzelne Einheit für die Außenwelt wie in der Realität Das Leben eines Teams oder einer Organisation ist eine ganze Einheit und nicht nur ein Sammlung von Einzelpersonen. Ein verteiltes System ist im Wesentlichen eine Hierarchie von Entitäten, bei denen jede Entität eine bestimmte Rolle hat und bietet spezifische Dienstleistungen an [...]

[...] Die Entitätsabstraktion ist einem Objekt in Objekt .__ sehr ähnlich. orientierte Programmierung. Der Hauptunterschied zwischen einem Objekt und eine Entität ist, dass eine Entität aktiv ist und lebt Einheit, während ein Objekt passiv ist. Eine Entität besteht aus Live-Subentitäten miteinander interagieren, um einen Dienst bereitzustellen und kann möglicherweise mit den anderen Entitäten interagieren. Eine Das Objekt besteht nur aus statischen Feldern und Eigenschaften, die .__ sein können. von der Außenwelt abgefragt und manipuliert. Aber viele Erkenntnisse aus der objektorientierten Programmierung können mitgeführt werden über dieses Programmierparadigma. Wir können Klassen haben und Arten von Entitäten, bei denen eine Klasse bestimmte Dienste und Funktionalität für den Rest des Systems. Ebenfalls, Wir könnten abstrakte Entitäten definieren, die den Kern implementieren Struktur und einige grundlegende Protokolle für die Interaktion zwischen Knoten und diese könnten weiter erweitert werden, um das tatsächliche Entitäten. In ähnlicher Weise könnten wir Schnittstellen definieren, die .__ definieren. eine Reihe von Dienstleistungen. Diese Schnittstellen könnten von .__ implementiert werden. mehrere Entitäten mit unterschiedlichen Garantien und auf der Grundlage der Anforderungen, eine davon kann vom Programmierer ausgewählt werden die erforderliche Dienstleistung erbringen.

1
Lemmy_Caution