JAVA Klassen

Erste Frage Aufrufe: 1402     Aktiv: 29.04.2020 um 08:42

0

Hallo.

Muss eine Klasse zwingend ein Objekt haben?

Z.B. wenn ich eine Oberklasse und 2 Unterklassen habe. Muss in der Oberklasse ein Objekt sein? Oder ist ein Objekt der Unterklasse auch automatisch ein Objekt der Oberklasse?

Diese Frage melden
gefragt

Punkte: 50

 
Kommentar schreiben
4 Antworten
1

Vorweg: Nach meinem Verständnis entspricht Objekt in diesem Fall dem Wort Variable oder Parameter.

Muss eine Klasse zwingend ein Objekt haben?

Kurz: Nein

Ausführlicher: Mir ist keine Programmiersprache bekannt, in der eine Klasse zwingend auch Variablen haben muss. Dennoch würde ich dir in einem solchen Fall empfehlen, eher ein Interface auszuwählen, statt eine Klasse. Es gibt nur sehr wenige Fälle wo Parent-Classes ohne Variablen sinnvoll sind.

Z.B. wenn ich eine Oberklasse und 2 Unterklassen habe. Muss in der Oberklasse ein Objekt sein? Oder ist ein Objekt der Unterklasse auch automatisch ein Objekt der Oberklasse?

Die Vererbung ist optional. Das heisst, Unterklassen können Variablen haben, welche die Oberklassen nicht kennen. Du kannst in diesem Fall jedoch nur dann auf diese zugreifen, wenn du deine Instanz auch als Unterklasse definiert hast.

Diese Antwort melden
geantwortet

Student, Punkte: 20

 

Kommentar schreiben

0

Muss eine Klasse zwingend ein Objekt haben?

Ich glaube Dir ist der Unterschied zwischen Klasse und Objekt nicht klar. Erstellen wir z.B. die Klasse Auto, so legen wir dort Fest, dass ein Auto Räder hat, eine Lackfarbe hat, u.s.w. Stell Dir die Klasse wie eine Schablone für alle Autos vor. Wenn wir nun ein Objekt aus dieser Klasse erzeugen, so legen wir ein ganz spezielles Auto fest. So wird dann z.B. festgelegt, dass das Auto die Lackfarbe blau hat und 4 Räder besitzt.

Z.B. wenn ich eine Oberklasse und 2 Unterklassen habe. Muss in der Oberklasse ein Objekt sein? Oder ist ein Objekt der Unterklasse auch automatisch ein Objekt der Oberklasse?

Diese Frage vermischt Objekte mit Klassen. Ich denke mal, dass Du hier auf Vererbung hinaus willst. Wir haben z.B. eine Klasse Fahrzeuge. Hier ist festgelegt, dass ein Fahrzeug Räder hat. Und das ein Fahrzeug Scheinwerfer hat. Dann könnte es eine Unterklasse Auto geben. Diese erbt die Eigenschaften der Fahrzeugklasse. Somit hat die Klasse Auto die Eigenschaften: hat Räder, hat Scheinwerfer. Darüber hinaus könnte dann eine Autoklasse noch die Eigenschaft: hat Klimaanlage besitzen. Oder daneben gibt es die Klasse Motorrad die ebenfalls von der Fahrzeugklasse erbt.

Ich hoffe das war einigermaßen verständlich ;) Ansonsten frag mich einfach

Diese Antwort melden
geantwortet

Punkte: 10

 

Mir ist der Unterschied zwischen Klasse und Objekt völlig klar.
Meine Frage war, ob eine Klasse zwingend ein Objekt haben muss? Oder anders: Kann es Klassen geben ohne Objekt?

Mir viel dazu nur die Frage ein, ob bei Ober- und Unterklassen, ein Objekt aus der Unterklasse auch zugleich ein Objekt der Oberklasse ist?
Wenn ich also die Oberklasse Kfz habe und die Unterklasse Volkswagen usw. …. ist dann der VW Golf Bj 2018 auch ein Objekt der Oberklasse Kfz? Oder nur der Unterklasse Volkswagen?

  ─   petrapetrasen3 17.04.2020 um 21:17

Kommentar schreiben

0

Es gibt sogar Klassen, von denen kein Objekt initialisiert werden kann. Das sind die abstrakten Klassen.

abstract class Fahrzeug {}

Von abstrakten Klassen kannst du wie gesagt kein Objekt direkt initialisieren. Du kannst jedoch Unterklassen ableiten und diese initialisieren.

class Auto extends Fahrzeug {}
Diese Antwort melden
geantwortet

 

Kommentar schreiben

-1

Nach dem Durchlesen des Kommentars:

Ja es ist möglich eine Klasse ohne Objekt zuhaben. Genau das passiert bei der Vererbung, mehr oder weniger. Trotzdem kannst du ein sogenanntes "Sub-Class Object" erstellen.

Das sieht ungefähr so aus:

class Kfz {}
class Volkswagen extends Kfz {}
class VWGolf extends Volkswagen {}

Kfz abc = new VWGolf()

Also kannst du ein "Sub-Class Object" erstellen mit der Hilfe von den Subclasses. Und falls du so eine Vererbung hast, dann ist dein VWGolf eine Unterklasse von Volkswagen und Volkswagen ist eine Unterklasse von Kfz. So hast du alle Variablen oder Methoden des Kfz's auch im VWGolf.

Diese Antwort melden
geantwortet

Student, Punkte: 175

 

So ungefähr dachte ich es mir ja auch schon. Bin gespannt, was die Musterlösung konkret dazu sagen wird.
Ich werde dann nochmals kommentieren.
Dennoch danke schon mal.

  ─   petrapetrasen3 19.04.2020 um 12:02

Kommentar schreiben