webentwicklung-frage-antwort-db.com.de

Unterschied zwischen Objekt und Instanz

Ich weiß, dass diese Art von Frage gefragtvorher war, aber ich habe immer noch das Gefühl, dass die Antwort für mich zu vieldeutig ist (und in der Folge einige/die meisten Anfänger), die ich verstehen kann.

Ich habe versucht, mir breitere Konzepte des Programmierens beizubringen als prozedurale und grundlegende OOP. Ich verstehe die konkreten Konzepte von OOP (Sie erstellen eine Klasse, die über Daten (Member) und Funktionen (Methoden) verfügt, und instanziieren dann diese Klasse zur Laufzeit, um tatsächlich solche Dinge zu erledigen).

Ich denke, ich habe einen Überblick darüber, was eine Klasse ist (eine Art Entwurfsplan für eine Instanz, die zur Kompilierzeit in ihrer Ähnlichkeit erstellt werden soll). Aber wenn das der Fall ist, was ist ein Objekt? Ich weiß auch, dass dies in prototypbasierten Sprachen die Dinge noch mehr vermasseln kann, aber vielleicht muss in meinem Kopf ein klarer Unterschied zwischen Objekt und Instanz bestehen.

Darüber hinaus kämpfe ich mit den Begriffen "Objekt" und "Instanz". Viele Ressourcen, die ich gelesen habe (einschließlich Antworten bei SO), besagen, dass sie weitgehend gleich sind und der Unterschied in der Semantik liegt. Andere Leute sagen, dass es einen wahren konzeptuellen Unterschied zwischen den beiden gibt.

Können die Experten hier bei SO einem Anfänger diesen "Aha" -Moment ermöglichen, um in der Welt der OOP voranzukommen? 

Danke noch einmal.

Hinweis: Dies ist keine Hausaufgabe, ich gehe nicht zur Schule - aber ich denke, es würde Menschen helfen, die nach Hausaufgaben suchen.

70
TCCV

Ein Entwurf für ein Hausdesign ist wie eine Klassenbeschreibung. Alle Häuser, die nach diesem Plan gebaut wurden, sind Objekte dieser Klasse. Ein gegebenes Haus ist eine Instanz.

119
joe snyder

Die Wahrheit ist, dass objektorientierte Programmierung oft Verwirrung stiftet, indem sie die philosophische Seite der Entwicklung von der tatsächlichen mechanischen Arbeitsweise des Computers trennt. Ich werde versuchen, die beiden für Sie zu vergleichen:

Das Grundkonzept von OOP lautet wie folgt: Klasse >> Objekt >> Instanz.

Die Klasse = der Blaupause ..__ Das Objekt ist eine tatsächliche Sache, die auf der Blaupause basiert (wie das Haus) . Eine Instanz ist eine virtuelle Kopie (aber keine echte Kopie) des Objekt. 

Die eher technische Erklärung für eine 'Instanz' ist, dass es sich um eine 'Speicherreferenz' oder eine Referenzvariable handelt. Dies bedeutet, dass eine 'Instanz' eine Variable im Speicher ist, die only eine Speicheradresse eines Objekts enthält. Das angesprochene Objekt ist das gleiche Objekt, von dem die Instanz als 'Instanz' bezeichnet wird. Wenn Sie viele Instanzen eines Objekts haben, haben Sie tatsächlich nur viele Variablen an unterschiedlichen Stellen in Ihrem Speicher, die alle dieselbe exakte Speicheradresse enthalten. Dabei handelt es sich jeweils um die Adresse desselben Objekts. Sie können eine Instanz niemals "ändern", obwohl es in Ihrem Code so aussieht, wie Sie es können. Wenn Sie eine Instanz wirklich ändern, ändern Sie das Originalobjekt direkt. Elektronisch durchläuft der Prozessor eine zusätzliche Stelle im Speicher (die Referenzvariable/Instanz), bevor er die Daten des ursprünglichen Objekts ändert. 

Der Prozess ist: Prozessor >> Speicherplatz der Instanz >> Speicherort des Originalobjekts.

Beachten Sie, dass es egal ist, welche Instanz Sie verwenden - das Endergebnis ist immer dasselbe. ALLE Instanzen behalten weiterhin die gleichen Informationen in ihren Speicherorten - die Speicheradresse des Objekts - bei, und nur das Objekt ändert sich.

Die Beziehung zwischen Klasse und Objekt ist etwas verwirrender, obwohl sie philosophisch am leichtesten zu verstehen ist (Blaupause >> Haus). Wenn es sich bei dem Objekt um tatsächliche Daten handelt, die sich irgendwo im Speicher befinden, was ist dann "Klasse"? Es stellt sich heraus, dass das Objekt mechanisch eine exakte Kopie der Klasse ist. Die Klasse ist also nur eine andere Variable an anderer Stelle im Speicher, die genau die gleichen Informationen enthält wie das Objekt. Beachten Sie den Unterschied zwischen den Beziehungen:

Objekt ist ein copy der Klasse . Instanz ist eine Variable, die die Speicheradresse des Objekts enthält.

Sie können auch mehrere Objekte derselben Klasse und dann mehrere Instanzen jedes dieser Objekte haben. In diesen Fällen entspricht die Menge der Instanzen jedes Objekts dem Wert, die Instanzen zwischen Objekten jedoch nicht. Zum Beispiel:

Klasse A Von Klasse A lassen wir Object1, Object2 und Object3.

// Object1 hat denselben genauen Wert wie Object2 und Object3, ist jedoch an verschiedenen Stellen im Speicher.

von Object1 >> let obj1_Instance1, obj1_Instace2, obj1_Instance3

// Alle diese Instanzen sind auch im Wert und an verschiedenen Stellen im Speicher gleichwertig. Ihre Werte = Object1.MemoryAddress.

usw.

Die Dinge werden unordentlich, wenn Sie mit der Einführung von Typen beginnen. Hier ein Beispiel mit Typen aus c #:

// gehe davon aus, dass die Klasse Person existiert Person john = new Person ();

Eigentlich ist dieser Code einfacher zu analysieren, wenn Sie ihn in zwei Teile unterteilen:

Person john;
john = new Person();

Im technischen Sinne deklariert die erste Zeile 'eine Variable von type Person. Aber was heißt das? Die allgemeine Erklärung ist, dass ich jetzt eine leere Variable habe, die nur ein Person-Objekt enthalten kann. Aber warte mal - es ist eine leere Variable! Es gibt nichts in diesem Variablenspeicherplatz. Es stellt sich heraus, dass "Typen" mechanisch bedeutungslos sind. Ursprünglich wurden Typen erfunden, um Daten zu verwalten, und nichts anderes. Selbst wenn Sie primitive Typen wie int, str, chr (ohne Initialisierung) deklarieren, geschieht nichts im Computer. Dieser seltsame syntaktische Aspekt der Programmierung ist ein Teil davon, wo die Leute auf die Idee kommen, dass Klassen der Bauplan von Objekten sind. OOPs sind mit Typen mit Delegatentypen, Ereignishandlern usw. noch verwirrender geworden. Ich würde versuchen, mich nicht zu sehr auf sie zu konzentrieren und sich nur daran zu erinnern, dass sie alle eine Fehlbezeichnung sind. An der Variablen ändert sich nichts, bis sie entweder zu einem Objekt wird oder auf eine Speicheradresse eines Objekts gesetzt wird.

Die zweite Zeile ist auch etwas verwirrend, weil sie zwei Dinge gleichzeitig tut:

Die rechte Seite "neue Person ()" wird zuerst ausgewertet. Es erstellt eine neue Kopie der Person-Klasse, das heißt, es wird ein neues Objekt erstellt. 

Die linke Seite "john =" wird dann ausgewertet. Sie verwandelt john in eine Referenzvariable, die ihm die Speicheradresse des gerade erstellten Objekts auf der rechten Seite derselben Zeile gibt.

Wenn Sie ein guter Entwickler werden möchten, ist es wichtig zu verstehen, dass keine Computerumgebung je nach philosophischen Idealen funktioniert. Computer sind nicht einmal so logisch - sie sind wirklich nur eine große Sammlung von Drähten, die mit einfachen Booleschen Schaltkreisen (meistens NAND und OR) zusammengeklebt werden.

33
Rambly John

Das Wort Class stammt von Classification (A Category, in das etwas) eingefügt wird. Nun haben wir alle gehört, dass ein Class ist wie ein Blueprint, aber was bedeutet das genau? Dies bedeutet, dass Class eine Beschreibung einer bestimmten Kategorie enthält, (Ich möchte den Unterschied zwischen Klasse, Objekt und Instanz anhand eines Beispiels mit Java anzeigen, und ich würde die Leser bitten, sie als a anzuzeigen Die Geschichte beim Lesen, und wenn Sie mit Java nicht vertraut sind, spielt keine Rolle) Lassen Sie uns mit Category namens HumanBeing beginnen, damit das Java-Programm dies ausdrückt wie folgt

class HumanBeing{ 
   /*We will slowly build this category*/ 
}

Welche Attribute hat ein HumanBeing im Allgemeinen Name, Age, Height, Weight, lassen Sie uns jetzt beschränke unser Selbst auf diese vier Eigenschaften, lass uns es zu unserer Kategorie hinzufügen

class HumanBeing{
    private String Name;
    private int Age;
    private float Height;
    private float Weight; 

   /*We still need to add methods*/

}

Jetzt hat jede Kategorie ein Verhalten, zum Beispiel die Kategorie Hund hat ein Verhalten zum Bellen, Abrufen, Rollen usw. ... Ebenso kann unsere Kategorie HumanBeing auch ein bestimmtes Verhalten haben, z Fragen Sie unser HumanBeing Wie ist Ihr Name/Alter/Gewicht/Größe? Es sollte uns seinen Namen/Alter/Gewicht/Größe geben, also machen wir es in Java wie folgt

class HumanBeing{
    private String Name;
    private int Age;
    private float Height;
    private float Weight;  

    public HumanBeing(String Name,int Age,float Height,float Weight){
       this.Name = Name;
       this.Age  = Age;
       this.Height = Height;
       this.Weight = Weight;
    }

    public String getName(){
      return this.Name;
    }

    public int getAge(){
      return this.age;
    }

    public float getHeight(){
      return this.Height;
    }

    public float getWeight(){
      return this.Weight;
    }
}

Jetzt haben wir unserer Kategorie HumanBeing Verhalten hinzugefügt, so dass wir nach Name, Alter, Größe und Gewicht fragen können, aber von wem werden Sie diese Angaben verlangen, denn class HumanBeing ist nur eine Kategorie, für die es eine Blaupause ist Ein Architekt erstellt beispielsweise einen Bauplan auf einem Papier des Gebäudes, das er bauen möchte. Jetzt können wir nicht mehr in dem Bauplan leben (seine Beschreibung des Gebäudes). Wir können nur in dem Gebäude wohnen, wenn es gebaut ist. Deshalb müssen wir aus unserer Kategorie, die wir oben beschrieben haben, ein menschliches Wesen machen. Wie machen wir das in Java?

class Birth{
  public static void main(String [] args){
    HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);    
  }
}

In dem obigen Beispiel haben wir nun unseren ersten Menschen mit dem Namen Alter Größe Gewicht erstellt. Was genau passiert also in dem obigen Code? . Wir sind Instantiating unsere Kategorie HumanBeing d. H. Ein Objekt unserer Klasse wird erstellt

Hinweis:Objekt und Instanz sind keine Synonyme In einigen Fällen scheint es, als wären Objekt und Instanz Synonyme, aber sie sind nicht. Ich werde beide Fälle angeben 

Fall 1: Objekt und Instanz scheint Synonyme zu sein
Lassen Sie mich etwas näher erläutern, wenn wir sagen, HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);Ein Objekt unserer Kategorie wird auf dem Heap-Speicher erstellt, und einige Adressen werden ihm zugewiesen, und firstHuman enthält eine Referenz diese Adresse, jetzt ist dieses Objekt Ein Objekt von HumanBeing und auch Eine Instanz von HumanBeing. Hier scheint es, als wären Objekte und Instanz Synonyme, Ich werde mich wiederholen sie sind keine Synonyme 

Lassen Sie uns unsere Geschichte fortsetzen, wir haben unseren ersten Menschen geschaffen, jetzt können wir ihn nach Namen, Alter, Größe und Gewicht fragen. So machen wir das in Java

class Birth{
  public static void main(String [] args){
    HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);
    System.out.println(firstHuman.getName());
    System.out.println(firstHuman.getAge());
    ...
    ...  
  }
}

wir haben also den ersten Menschen und lassen uns Federn bewegen, indem wir unserem ersten Menschen eine Qualifikation geben. Lassen Sie uns ihn zum Arzt machen, also brauchen wir eine Kategorie namens Doctor und geben unserem Doktor Verhalten, also in Java wie folgt

class Doctor extends HumanBeing{
   public Doctor(String Name,int Age,float Height,float Weight){
      super(Name,Age,Height,Weight);
   }
   public void doOperation(){
    /* Do some Operation*/ 
   }

   public void doConsultation(){
    /* Do so Consultation*/
   }
}  

Hier haben wir das Konzept von Inheritance verwendet, das im Code eine gewisse Wiederverwendbarkeit mit sich bringt. Jeder Arzt wird immer zuerst ein HumanBeing sein, so dass ein Arzt den Namen, das Alter, das Gewicht und die Höhe hat, die von HumanBeing übernommen werden Anstatt es noch einmal zu schreiben, beachten Sie, dass wir gerade eine Beschreibung eines Arztes geschrieben haben, den wir noch nicht erstellt haben. Lassen Sie uns also einen Arzt in unserem class Birth erstellen.

class Birth{
  public static void main(String [] args){
    Doctor firstDoctor = new Doctor("Strange",40,6,80);
    .......
    .......
    /*Assume some method calls , use of behaviour*/
    .......
    .......    
  }
}

Fall 2: Objekt und Instanz sind keine Synonyme
Im obigen Code können wir uns vorstellen, dass wir unsere Kategorie Doctor instanziieren und zum Leben erwecken, dh wir erstellen einfach ein Objekt der Kategorie Doctor, wie wir bereits wissen Objekt werden im Heap-Speicher erstellt und firstDoctor enthält einen Verweis auf dieses Objekt auf dem Heap;

Dieses bestimmte Objekt firstDoctor sieht wie folgt aus (beachten Sie, dass firstDoctor einen Verweis auf das Objekt enthält, es ist nicht das Objekt selbst).

  1. firstDoctor ist ein Objekt von class Doctor und eine Instanz von A class Doctor
  2. firstDoctor ist kein Objekt von class HumanBeing, aber eine Instanz von class HumanBeing 

Ein bestimmtes Objekt kann also eine Instanz einer bestimmten Klasse sein, muss jedoch kein Objekt dieser Klasse sein

Fazit:

Ein Objekt wird als Instanz einer bestimmten Kategorie bezeichnet, wenn es alle Merkmale dieser bestimmten Kategorie erfüllt 

Ein Beispiel aus der realen Welt wird wie folgt sein: Wir werden zuerst als Menschen geboren, so dass wir uns als Objekt des Menschen vorstellen. Wenn wir erwachsen werden, übernehmen wir Verantwortung, lernen neue Fähigkeiten und spielen unterschiedliche Rollen im Lebensbeispiel. Sohn, Bruder, Tochter, Vater , Mutter jetzt Was sind wir eigentlich? Wir können sagen, dass wir Objekte des Menschen sind, aber Instanzen von Bruder, Tochter, ... usw

Ich hoffe das hilft

Danke dir

22

 enter image description here

Objekte sind Dinge im Speicher, während Instanzen auf sie verweisen. Im obigen Bild:

  • std (Instanz) -> Schülerobjekt (rechts)
  • std1 (Instanz) -> Schülerobjekt (links) 
  • std2 (Instanz) -> Schülerobjekt (links)
  • std3 (Instanz) -> kein Objekt (Null)
12
Truong Ha

Ein Objekt ist eine Instanz einer Klasse (für klassenbasierte Sprachen).

Ich denke, das ist die einfachste Erklärung, die ich finden kann.

5
sukru

Eine Klasse definiert ein Objekt. Sie können in vielen Sprachen noch weiter gehen und sagen, eine Schnittstelle definiert allgemeine Attribute und Methoden zwischen Objekten.

Ein Objekt ist etwas, das can etwas in der realen Welt darstellt. Wenn Sie möchten, dass das Objekt tatsächlich für etwas in der realen Welt steht, muss dieses Objekt instanziiert werden. Instantiierung bedeutet, dass Sie die Merkmale (Attribute) dieses bestimmten Objekts definieren müssen, normalerweise durch einen Konstruktor.

Nachdem Sie diese Merkmale definiert haben, verfügen Sie jetzt über eine Instanz eines Objekts.

Hoffe, das klärt die Dinge.

5
Derek Litz

"Eine Klasse beschreibt eine Menge von Objekten, die als Instanzen bezeichnet werden." - Die Xerox Learning Research Group, "Das Smalltalk-80-System", Byte Magazine, Band 06, Nummer 08, S. 39, 1981.

2
miguel.negrao

Was ist ein Objekt?

Ein Objekt ist eine Instanz einer Klasse. Das Objekt kann am besten verstanden werden, wenn Sie Beispiele aus der realen Welt um Sie herum finden. Ihr Schreibtisch, Ihr Laptop, Ihr Auto sind gute Beispiele aus der realen Welt eines Objekts.

Realweltobjekte haben zwei Eigenschaften, sie alle haben Zustand und Verhalten. Menschen sind auch ein gutes Beispiel für ein Objekt. Wir Menschen haben Zustand/Eigenschaften - Name, Größe, Gewicht und Verhalten - gehen, laufen, reden, schlafen, Code: P.

Was ist eine Klasse?

Eine Klasse ist ein Bauplan oder eine Vorlage, die die Details eines Objekts beschreibt. Diese Details sind nämlich

name Attribute/Zustand Vorgänge/Methoden

class Car 
{
    int speed = 0;
    int gear = 1;

    void changeGear(int newGear)
    {
        gear = newGear;
    }

    void speedUp(int increment) 
    {
        speed = speed + increment;
    }

    void applyBrakes(int decrement) 
    {
        speed = speed - decrement;
    }
}

Im obigen Beispiel werden die Felder speed und gear den Status des Objekts darstellen, und die Methoden changeGear, speedUp und applyBrakes definieren das Verhalten des Car-Objekts mit der Außenwelt.

Verweise:

1
Yasser

Ich denke, die beste Antwort wurde bereits vergeben. 

Klassen sind Blaupausen, und Objekte sind Gebäude oder Beispiele für diese Blaupause haben mir auch geholfen.

Manchmal möchte ich denken, dass Klassen Vorlagen sind (wie in MS Word), während Objekte Dokumente sind, die die Vorlage verwenden.

1
Geosphere

Ich denke, dass es wichtig ist, darauf hinzuweisen, dass es im Allgemeinen zwei Dinge gibt. Der Entwurf und die Kopien. Menschen neigen dazu, diese verschiedenen Dinge zu nennen; Klassen, Objekte, Instanzen sind nur einige der Namen, die die Leute dafür verwenden. Das Wichtigste ist, dass es die Blaupause und Kopien davon gibt - unabhängig von deren Namen. Wenn Sie bereits ein Verständnis für diese beiden haben, vermeiden Sie einfach die anderen Dinge, die Sie verwirren.

1
Simon

Objektorientierte Programmierung ist eine System-Metapher , die Ihnen hilft, das Wissen, das Ihr Programm verarbeiten muss, so zu organisieren, dass es Ihnen leichter fällt, Ihr Programm zu entwickeln. Wenn Sie sich für die Programmierung mit OOP entscheiden, nehmen Sie Ihre OOP-Googles auf und entscheiden, dass Sie das Problem der realen Welt sehen werden, wenn viele Objekte miteinander kooperieren, indem Sie Nachrichten senden. Anstatt einen Kerl beim Autofahren zu sehen, sehen Sie einen Kerl, der eine Nachricht an das Fahrzeug sendet, die angibt, was das Auto tun soll. Das Auto ist ein großes Objekt und reagiert auf diese Nachricht, indem es eine Nachricht an seinen Motor oder sein Rad sendet, um richtig auf die Anweisungen des Fahrers in der Nachricht reagieren zu können, usw.

Nachdem Sie Ihre Systemmetapher erstellt haben und alle Realität als Objekte sehen, die Nachrichten senden, entscheiden Sie sich dafür, all die Dinge, die Sie sehen, für Ihren Problembereich relevant zu machen, in den PC. Dort merkt man, dass es viele Typen gibt, die verschiedene Karten fahren, und es ist sinnlos, das Verhalten jeder einzelnen Karte separat zu programmieren, da sich alle auf dieselbe Weise verhalten.

  • Alle diese Typen verhalten sich auf dieselbe Weise, also werde ich eine Klasse mit dem Namen Driver erstellen, die angibt, wer sich alle Treiber auf der Welt verhalten, weil sie sich alle auf dieselbe Weise verhalten. (Und Sie verwenden klassenbasierte OOP)
  • Oder du könntest sagen: Hey! Der zweite Treiber verhält sich genauso wie der erste, nur dass er etwas schneller fahren möchte. Und der dritte Driver verhält sich genauso wie der erste Driver, nur dass er beim Fahren gerne im Zickzack fährt. (Und Sie verwenden prototypbasierte OOP).

Dann legen Sie im Computer die Informationen darüber fest, wie sich alle Treiber verhalten (bzw. wie sich der erste Treiber verhält und wie sich der zweite und dritte Treiber von diesem Treiber unterscheiden), und nach einer Weile haben Sie Ihr Programm und verwenden den Code, um dies zu tun Erstellen Sie drei Treiber, die das Modell sind, das Sie in diesem PC verwenden, um die Treiber zu finden, die Sie in der realen Welt gesehen haben. Bei diesen 3 Treibern, die Sie im PC erstellt haben, handelt es sich entweder um Instanzen des Prototyps (der erste ist der Prototyp, der erste könnte der Prototyp selbst sein, abhängig davon, wie Sie die Dinge modellieren) oder die Klasse, die Sie erstellt haben Der Unterschied zwischen Instanz und Objekt besteht darin, dass Objekt die Metapher ist, die Sie in der realen Welt verwenden. Sie wählen den Kerl und das Auto als Objekte (es wäre falsch zu sagen, dass Sie sie als Instanzen sehen), wenn sie zusammenarbeiten. Und dann verwenden Sie es als Inspiration, um Ihren Code zu erstellen. Die Instanz existiert nur in Ihrem Programm, nachdem Sie den Prototyp oder die Klasse erstellt haben. Die "Objekte" sind außerhalb des PCs vorhanden, da es sich hierbei um das Mapping handelt, mit dem Sie die reale Welt mit dem Programm verbinden. Es verbindet den Guy mit der Instanz des Treibers, den Sie im PC erstellt haben. Objekt und Instanz sind also extrem miteinander verwandt, aber sie sind nicht genau gleich (eine Instanz ist ein "Bein" eines Objekts im Programm und das andere "Bein" ist in der realen Welt).

0
user1494736

Mir hat immer die Idee gefallen, dass die Definition einer Klasse der eines "Abstract Data Type" entspricht. Wenn Sie also eine Klasse definieren, definieren Sie einen neuen Typ von "Etwas", seine Datentypdarstellung in Form von Grundelementen und anderen "Etwas" und sein Verhalten in Bezug auf Funktionen und/oder Methoden. (Sorry für die Allgemeinheit und den Formalismus)

Immer wenn Sie eine Klasse definieren, öffnen Sie eine neue Möglichkeit, um bestimmte Entitäten mit ihren Eigenschaften und ihrem Verhalten zu definieren. Wenn Sie ein bestimmtes Objekt instanziieren und/oder daraus erstellen, sind Sie tatsächlich materialising.

Manchmal sind die Begriffe Objekt und Instanzen austauschbar. Einige OOP -Puristen werden behaupten, alles sei ein Objekt, ich beklage mich nicht, aber in der realen OOP - Welt verwenden wir Entwickler zwei Konzepte:

  1. Klasse: Abstract-Datentypbeispiel, aus dem Sie andere ADT-Objekte ableiten und Objekte erstellen können.
  2. Objekte: Auch Instanzen genannt, repräsentiert bestimmte Beispiele der Datenstrukturen und Funktionen, die von einem bestimmten abstrakten Datentyp dargestellt werden.
0
Jose Diaz

In einigen Fällen kann der Begriff "Objekt" verwendet werden, um eine Instanz zu beschreiben, in anderen Fällen wird jedoch eine bezug auf eine Instanz. Der Begriff "Instanz" bezieht sich nur auf die tatsächliche Instanz.

Beispielsweise kann eine Liste als eine Sammlung von Objekten beschrieben werden, was jedoch tatsächlich enthalten ist, sind Verweise auf Objektinstanzen.

0
supercat

Erweiterung eines der oben angegebenen Beispiele in diesem Thread ...

Betrachten Sie ein Szenario - Es ist erforderlich, dass 5 Häuser für Wohnzwecke in einer Nachbarschaft gebaut werden müssen. Alle 5 Häuser haben eine gemeinsame Bauarchitektur. Die Bauarchitektur ist eineclass. Das Haus ist einobject. Jedes Haus, in dem sich Menschen aufhalten, ist eineInstanz.

0
GeekSpecs

Können Äpfel mit Äpfeln vergleichen. Wir alle wissen, was ein Apple ist. Wie es aussieht Wie es schmeckt. Das ist eine Klasse. Es ist die Definition eines Dings. Es ist das, was wir über eine Sache wissen. 

Gehen Sie jetzt zu einem Apple. Das ist ein Beispiel. Wir können es sehen. Wir können es schmecken. Wir können Dinge damit machen. Es ist was wir haben.

Klasse = Was wir über etwas wissen Eine Definition. 

Object/Instance = Etwas, das zu dieser Definition passt, mit der wir Dinge tun können und können.

0
Jack