Propro Aufgabe 4, Klasse Computer

Pacman
Neuling
Neuling
Beiträge: 2
Registriert: 21. Jun 2012 09:11

Propro Aufgabe 4, Klasse Computer

Beitrag von Pacman » 21. Jun 2012 09:39

Hallo! In der Klasse Computer muss man eine Klassenvariablen einführen, die die Anzahl der bisher erzeugten Computer-Objekte mitzählt. Dabei erhält der Konstruktor keine Parameter, das heißt, dass Computer-Objekt keine zusätzliche Information von aussen bekommt, um diese Variable zu ändern. Nehmen wir an, wir haben einen Bot erzeugt:
Computer bot1=new Computer();
und dann den zweiten Bot
Computer bot2=new Computer();
auf welche Weise wird der zweite Bot wissen, dass der erste schon erzeugt ist? Auf welchen Grund wird er den Namen CPU2 generieren?

Danke!

Benutzeravatar
mmi1991
Computerversteher
Computerversteher
Beiträge: 349
Registriert: 20. Okt 2011 18:46
Wohnort: Hattersheim

Re: Propro Aufgabe 4, Klasse Computer

Beitrag von mmi1991 » 21. Jun 2012 09:57

Du könntest theoretisch eine statische Variable in Computer anlegen, die beim Aufruf des Konstruktors um eins hochzählt.
Allerdings wird das darauf hinauslaufen, dass der Zähler nicht zurückgesetzt wird, wenn der Computer nicht mehr benötigt wird.
Du kannst zwar finalize() überschreiben und dann wieder runterzählen, aber ob man sich auf den Garbage Collector verlassen kann, ist fraglich ;)
Ophasentutor SoSe 2014, WiSe 2015/16
Alle Angaben wie immer ohne Gewähr

Benutzeravatar
Owyn
BSc Spammer
BSc Spammer
Beiträge: 1012
Registriert: 5. Sep 2005 21:53
Wohnort: Rheingau

Re: Propro Aufgabe 4, Klasse Computer

Beitrag von Owyn » 21. Jun 2012 12:12

Sie sollten sich noch mal durchlesen, was eine Klassenvariable und was der Unterschied zu einer Objektvariable ist. Beispiele gibt es in den Folien und in den Übungen.

finalize(), Garbage Collector etc. sind irrelevant.

Gruß,
Christian Heinig
All those who believe in psycho-kinesis, raise my hand.
(Steven Wright)

Pacman
Neuling
Neuling
Beiträge: 2
Registriert: 21. Jun 2012 09:11

Re: Propro Aufgabe 4, Klasse Computer

Beitrag von Pacman » 21. Jun 2012 12:26

Vielen Dank!!!Jetzt ist alles klar!

Antworten

Zurück zu „Archiv“