Das Wort Klasse kommt aus der Klassifikation ( Eine Kategorie, in die etwas eingeordnet wird ). Jetzt haben wir alle gehört, dass eine Klasse wie eine Blaupause ist, aber was bedeutet das genau? Dies bedeutet, dass die Klasse eine Beschreibung einer bestimmten Kategorie enthält ( ich möchte den Unterschied zwischen Klasse, Objekt und Instanz anhand eines Beispiels unter Verwendung von Java zeigen und die Leser bitten, sie beim Lesen wie eine Geschichte zu visualisieren, und wenn Sie dies tun sind nicht mit Java vertraut spielt keine Rolle ) Beginnen wir also damit, eine Kategorie namens HumanBeing zu erstellen , damit das Java-Programm sie wie folgt ausdrückt
class HumanBeing{
/*We will slowly build this category*/
}
Welche Eigenschaften hat ein HumanBeing im Allgemeinen ? Namen , Alter , Körpergröße , Gewicht für jetzt lassen Sie uns begrenzen unser Selbst auf diese vier Attribute, lassen wir 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 eine Kategorie Hund hat ein Verhalten zu bellen, zu holen, zu rollen usw. Ebenso kann unsere Kategorie HumanBeing auch ein bestimmtes Verhalten haben, zum Beispiel wenn wir unseren HumanBeing fragen, wie Sie heißen / Alter / Gewicht / Höhe? 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 , sodass wir nach Name, Alter, Größe und Gewicht fragen können. Von wem werden Sie diese Details erfragen, da class HumanBeinges sich nur um eine Kategorie handelt, bei der es sich beispielsweise um eine Blaupause handelt, für die ein Architekt eine Blaupause erstellt Ein Papier des Gebäudes, das er bauen möchte. Jetzt können wir nicht mehr in der Blaupause ( der Beschreibung des Gebäudes ) leben. Wir können nur dann in dem Gebäude leben, wenn es gebaut ist. Also müssen wir hier aus unserer Kategorie ein menschliches Wesen machen, das wir sind wie oben beschrieben, wie machen wir das in Java?
class Birth{
public static void main(String [] args){
HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90);
}
}
Im obigen Beispiel haben wir unseren ersten Menschen mit dem Namen Alter Größe Gewicht erstellt. Was genau passiert also im obigen Code? . Wir sind Instanziierungsanwendung unserer Kategorie humanbeing dh ein Objekt unserer Klasse erstellt wird
Hinweis : Objekt und Instanz sind keine Synonyme In einigen Fällen scheinen Objekt und Instanz Synonyme zu sein, aber sie sind es nicht. Ich werde beide Fälle angeben
Fall 1: Objekt und Instanz scheinen Synonyme zu sein
Lassen Sie mich etwas näher darauf eingehen, wenn wir sagen, dass HumanBeing firstHuman = new HumanBeing("Adam",25,6.2,90); ein Objekt unserer Kategorie im Heapspeicher erstellt wird und ihm eine Adresse zugewiesen ist, firstHumandie einen Verweis auf diese Adresse enthält, jetzt ist dieses Objekt Ein Objekt von HumanBeing und auch eine Instanz von HumanBeing . Hier scheinen Objekte und Instanzen Synonyme zu sein, ich werde mich wiederholen, sie sind keine Synonyme
Lassen Sie uns unsere Geschichte fortsetzen. Wir haben unseren ersten Menschen erstellt. Jetzt können wir ihn nach seinem 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());
...
...
}
}
Also haben wir den ersten Menschen und lassen uns die Feder bewegen, indem wir unserem ersten Menschen eine Qualifikation geben. Machen wir ihn zum Arzt, also brauchen wir eine Kategorie namens Doktor und geben unserem Doktor ein Verhalten. In Java machen wir also Folgendes
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 der Vererbung verwendet das eine gewisse Wiederverwendbarkeit in den Code bringt. Jeder Arzt wird immer zuerst ein HumanBeing sein, also wird ein Arzt Name, Alter, Gewicht, Größe haben, die von HumanBeing geerbt wird, anstatt es erneut 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 erstellenclass Birth
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 Doktor instanziieren und zum Leben erwecken, dh wir erstellen einfach ein Objekt der Kategorie Doktor , wie wir bereits wissen Objekte im Heapspeicher erstellt werden und firstDoctorenthält einen Verweis auf dieses Objekt auf dem Heap;
Dieses spezielle Objekt firstDoctorist wie folgt (bitte beachten SiefirstDoctor einen Verweis auf das Objekt enthält, es ist nicht das Objekt selbst)
firstDoctorist ein Objekt vonclass Doctor Und eine Instanz von A.class Doctor
firstDoctorist kein Objekt von,class HumanBeing sondern eine Instanz vonclass HumanBeing
Ein bestimmtes Objekt kann also eine Instanz für eine bestimmte Klasse sein, muss jedoch kein Objekt dieser bestimmten Klasse sein
Fazit:
Ein Objekt wird als Instanz einer bestimmten Kategorie bezeichnet, wenn es alle Merkmale dieser bestimmten Kategorie erfüllt
Das Beispiel der realen Welt lautet wie folgt: Wir werden zuerst als Menschen geboren. Stellen Sie sich uns also als Objekt des Menschen vor. Wenn wir erwachsen werden, übernehmen wir Verantwortung, lernen neue Fähigkeiten und spielen verschiedene 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