tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
NEIN
ANTWORTEN
19
ZUGRIFFE
1056
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Habs jetzt nur überflogen, aber ArrayList enthält dafür eine eigene Methode. Ich glaube sie heißt contains, aber hab Eclipse atm nicht gestartet. Daraus kannst du Gott eine Methode verpassen, die einen boolean zurückliefert, woraus du wieder prüfen kannst, ob es lebt. Wobei das wieder nicht so wäre, wie du willst, zu dem verstehe ich nicht warum man sowas in einer globalen Klasse speichern sollte, wenn es jedes Objekt für sich selbst enthalten könnte.

    Vielleicht wäre für deine Methode eine HashMap besser, damit kannst du ein Objekt leicht wieder auf null setzen und das Huhn mit ihren Namen verknüpfen.
     
    Mein kleiner webstart Projektplaner:
    http://178.77.101.236/ppws/
    Ideen, Verbesserungsvorschläge, Bugsmeldungen und allg. Kritik erwünscht und erbeten.

    Danke. :)

  2. #17
    Avatar von Frezl
    Frezl Frezl ist offline Mitglied Brokat
    Registriert seit
    Oct 2003
    Beiträge
    473
    Wobei das wieder nicht so wäre, wie du willst, zu dem verstehe ich nicht warum man sowas in einer globalen Klasse speichern sollte, wenn es jedes Objekt für sich selbst enthalten könnte.
    Wenn das Huhn selbst das Attribut boolean lebendig hätte, könnte es diesen Parameter auch selbst ändern. D.h. es kann selbst entscheiden, ob es tot, oder lebendig sein will. Das würde dann wieder nicht der Wirklichkeit entsprechen! Klar kann das Huhn Elfi Selbstmord begehen, indem es Lebensenergie = 0 setzt und darauf wartet, dass es von Gott aus der Liste der Lebenden gestrichen wird. Aber andersrum wird es natürlich nicht wieder lebendig, wenn es Lebensenergie > 0 setzt Daher will ich das auf diese Weise lösen...

    Aber vielleicht ist mir bei meinem kreationistischen Programmieransatz auch ein kleiner Denkfehler unterlaufen: Wenn Gott über alles, was auf der Erde passiert, wacht, dann kann auch nur Gott dem Huhn erlauben, zu gackern. Demnach darf ich keinen direkten Pointer auf das Objekt Elfi setzten, sondern darf es nur über den Eintrag im BuchDesLebens ansprechen.

    Mann mann, kompliziert! Gibt es Theologen unter uns, die mir erklären können, wie das mit Gott und der Schöpfung wirklich funktioniert?

    Grüße,
    Frezl
     
    Wenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!

  3. #18
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Also, ich glaube am Anfang schuf Gott über 6 Tage die Welt, am 7. Adam und Lilith. Lilith hat das Paradies verlassen, um sich mit den Sanddämonen in der Wüste zu verbünden, darum hat Gott Adam eine Rippe rausgerissen und daraus Eva geschaffen. Danach flogen sie raus, weil sie von Gottes Privatobst genascht haben, und seit dem sind wir Gott egal.

    Weiß es aber nicht genau, glaube absolut nicht an Gott.

    Ja, aber so genau kannst du die Realität auch nicht abbilden. Weiß ja keiner wie es wirklich ist. Außerdem hat ein Mensch auf seine HP (wenn man es so bezeichnen kann) auch keinen Zugriff, eine Instanz kann auf eine private Variable aber noch immer in jeder Instanz der Klasse zugreifen. Deshalb dürften die HP nicht im Huhn selbst gespeichert werden, was einerseits ein extrem kompliziertes Programm zur Folge hätte, andererseits den Sinn von OOP wieder nicht richtig nutzten würde.

    Denke ich zumindest, hab mir darüber nie gedanken gemacht.
    Frezl bedankt sich. 
    Mein kleiner webstart Projektplaner:
    http://178.77.101.236/ppws/
    Ideen, Verbesserungsvorschläge, Bugsmeldungen und allg. Kritik erwünscht und erbeten.

    Danke. :)

  4. #19
    Avatar von Frezl
    Frezl Frezl ist offline Mitglied Brokat
    Registriert seit
    Oct 2003
    Beiträge
    473
    Der Gedanke, dass die Lebenspunkte dann nicht im Objekt selbst gespeichert werden dürfen, ist mir auch schon gekommen. Daraufhin habe ich festgestellt, dass Gott alles verwalten müsste UND DANN ist es mir wie Schuppen von den Augen gefallen: ICH BIN GOTT (Jedenfalls was mein Java-Programm betrifft). Schließlich bin ja ich der, der dem Huhn sagt, wann es gackern soll und ich bin auch der, der dem Huhn seine Lebenspunkte gibt und nimmt. Und wenn ich es will, dann kann das Huhn auch stricken

    Das ist also das Geheimnis der OOP :-O Wieder ein Mysterium gelöst.

    Danke für eure Hilfe!

    Grüße, Frezl
     
    Wenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!

  5. #20
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Was zum ... Das wird hier ja so langsam eine philosofische Angelegenheit xD

    Warum machst du es dir so schwer? Es ist doch egal, ob ein Objekt im Nirvana ist oder nicht. Wenn du nicht mehr darauf zugreifst und alle Variablen von dem Objekt trennst (andere Referenz aufbauen oder null setzen), dann wird sich der GC schon darum kümmern. Ich hab langsam das Gefühl, dass du drauf aus bist NullPointerExceptions auszulösen, weil du Objekte killn willst, die noch Referenzen aufweisen und wenn eben so eine Referenz was ausführen will, dann wird es ein Problem geben, was nicht Sinn der Sache ist.

    Man darf jetzt nicht den Fehler machen und versuchen ein lebendiges Wesen als lebendiges Wesen 1:1 abzubilden, das klappt eh nicht. Was Objekte intern machen, ist Sache der Objekte, der Zugriff von Außen aber nicht (z.B. Aktionen ausführen), das ist Sache des Controllers (Gott). Wenn ein Huhn tot ist, dann hat es das Flag tot auf true gesetzt, wenn das der Fall ist, sollten alle anderen Methoden nicht mehr ihre Aktionen ausführen. Es kann aber nicht sein, dass man auf NullPointerExceptions aus ist, um sicher zu stellen, dass ein Objekt verschwunden ist und damit Referenzen vorzeitig mit Gewalt vernichtet. Auch in C++ ist das nicht der Sinn dahinter, auch wenn es prinzipiell möglich ist. Die Destruktoren da werden eigentlich auch nicht für sowas verwendet, sondern damit beim Verwerfen des Objektes z.B. Arbeitsspeicher wieder sauber freigegeben wird etc., nicht um Pointer zu zerstören.

    Mach dir einfach kein Kopf drum, was mit dem Huhn passiert, wenn es tot ist. Bau in die Methoden Abfragen ein, die prüfen, ob das Huhn tot ist und wenn ja, dann macht die Methode eben nichts. Das Huhn ist tot, na und? Wenn ein Huhn in der Realität tot ist, dann verpufft es ja nicht ins Nichts, der Körper ist immer noch da, es gackert zwar nicht mehr, aber man kann immer noch drauf zugreifen, z.B. es beerdigen. Wenn es nach dem Tot ins Nichts verschwindet, dann ginge das nicht mehr, genauso auch bei den Objekten. Es ist egal, ob das Huhn tot ist, sein Tod wird nicht am Nicht-"Vorhandensein" definiert, sondern anhand eines Flags, einer Eigenschaft, die zeigt, ob das Huhn tot ist oder nicht. In der Realität sieht das dann meist so aus, dass es sich nicht mehr bewegt (außer der Kopf wurde abgeschlagen und die Nerven spielen verückt) und Menschen sind ja schlau und sind in der Lage Schlussfolgerungen anzustellen: Huhn bewegt sich nicht (Kopf wurde zerquetscht) => muss tot sein.
    Geändert von Akeshihiro (22.03.10 um 22:48 Uhr)
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 12.08.08, 09:07
  2. Antworten: 8
    Letzter Beitrag: 29.09.06, 10:53
  3. CorelDraw - Outline vom Objekt soll eigenständiges Objekt werden
    Von menschmeyer im Forum Vektor-Programme
    Antworten: 3
    Letzter Beitrag: 03.08.05, 14:37
  4. Antworten: 7
    Letzter Beitrag: 08.06.05, 14:16
  5. ein objekt um ein anderes objekt drehen
    Von prepheT im Forum 3D Studio Max
    Antworten: 14
    Letzter Beitrag: 04.08.02, 20:31