Wieso macht man sowas nicht (siehe unten) Java?

...komplette Frage anzeigen

4 Antworten

Nein weil Java so aufgebaut ist das du zum Beispiel eine Klasse Monster hast
Diese klasse hat die variablen HP und attack. Jetzt kannst du beliebig viele Monster erstellen die unterschiedliche HP und attack Werte haben

Antwort bewerten Vielen Dank für Deine Bewertung

Ist auch eine Möglichkeit. Aber dadurch nutzt du keine Vorteile, die dir die objektorientierte Programmierung bietet. Es gibt Gründe für Kapselung, Vererbung, Polymorphie, Geheimnisprinzip und Zugriffsmodifizierer.

Ein Auto schiebst du ja auch nicht. Es geht, aber es nicht dafür gemacht und Schieben bietet keinen Vorteil.

Antwort bewerten Vielen Dank für Deine Bewertung
Buh13246 08.09.2016, 19:41

Nicer Vergleich ;)

0

Du kannst dass machen, aber das ist ziemlich unflexibel. 

Du hättest dann ja, statt dass du von der Klasse ein Objekt anlegst, die Klasse selbst als ein globales Objekt, was ziemlich ungünstig ist. Ebenfalls kann die Garbage Collection nicht benutzt werden da Klassen nicht collected werden.

Angenommen die Klasse String wär jetzt so gestaltet wie du vorgeschlagen hast.

String.value = "teststring"; //wie willst du jetzt einen weiteren String anlegen?
String2.value = "teststring 2"; // du müsstest extra ne neue Klasse anlegen

Wenn du eine Funktion brauchst die unabhängig von einzelnen Objekten genutzt werden kann dann kannst du die statisch machen z.B. Integer.parseInt();

Antwort bewerten Vielen Dank für Deine Bewertung

Und wenn du dann ein Adressbuch entwickelst, erstellst du für jeden Eintrag eine neue Klasse...? Viel Spaß.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?