Destruktor, Konstruktor, Vererbungen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Neo311087, 19. Februar 2008 .

  1. 19. Februar 2008
    Hey Ho,
    wusste nun nich genau in welches Forum ich das hier schreiben soll, falls falsch bitte verschieben.
    Muss über die oben genannten Begriffte ne Präsentation machen, pro Thema ca 5 min. Da das nich all zu viel is muss ich halt nur die wichtigen Sachen darüber erzählen, da ich aber kein Anwendungsentwickler bin hab ich kein Plan welche von den Fakten zu den Dingern wichtig is und was nicht, will nun hier keine fertige Präsentation, nur Stichpunkte die ihr wichtig finden würdet wenn ihr darüber ne Präsentation hören würdet. Vernünftige Antworten bekommen ne BW.

    Neo
     
  2. 19. Februar 2008
    AW: Destruktor, Konstruktor, Vererbungen

    am besten innen programmierungsbereich moven...ums kurz zu sagen: konstruktor-->ein objekt einer klasse erstellen (man kann nicht direkt mit klassen arbeiten^^), destructor-->das objekt zerstören, vererbung-->du hast eine fertige klasse und möchtest methoden hinzufügen, dann schreibst du ne neue klasse, die von der alten erbt und fügst die gewünschten methoden hinzu, dann kann die alles alte und neue...mfg coach
    beispiel fürn konstruktor: du erstellst beim createn einer form von nem chat direkt den socket mit
    destruktor: du leerst nen lifo/fifo, bevor du es zerstörst (is speicherschonender)
    vererbung: du hast ne datenstruktur und willst z.b. ne suche einbauen, ohne das original zu verändern
     
  3. 19. Februar 2008
    AW: Destruktor, Konstruktor, Vererbungen

    gibts zwar auch bei php, aber ich denke bei den programmierern is das publikum größer
     
  4. 19. Februar 2008
    AW: Destruktor, Konstruktor, Vererbungen

    wie gesagt die info beschaffung is wohl das geringste problem aber ich muss wissen was wichtig is , wie gesagt pro thema 5 min und nich 15 min.
     
  5. 19. Februar 2008
    AW: Destruktor, Konstruktor, Vererbungen

    Sry aber das kann man so nicht stehen lassen. (Als Konstruktor bezeichnet man nicht das Erstellen eines Objektes.)

    Der Konstruktor ist die Funktion, welche direkt beim Instanzieren einer Klasse aufgerufen wird. Der Destruktor ist dem zu Folge die Funktion, welche vor dem Löschen einer Instanz ausgeführt wird. Das ist z.B. ganz nützlich, um direkt beim Erstellen eines Datenbankobjektes eine Netzwerkverbindung zu dem Datenbankserver herstellen zu lassen, bzw. beim Löschen des Objektes diese automatisch wieder zu schließen.

    Unter Vererbung versteht man das Übernehmen von Eigenschaften einer Klasse von einer übergeordneten.
    Gehen wir davon aus, dass alle Menschen einen Namen und ein Alter haben. Jetzt leite ich von der Klasse Mensch die Klasse Erwachsener und Kind ab. Daraus folgt, dass sowohl Erwachsener als auch Kind wieder über die Eigenschaften Name und Alter verfügen aber zusätzlich noch weitere haben können. Erwachsener enthält z.B. noch Beruf und Kind den Namen der Schule.

    Tiefergehende Infos braucht man für einen 5min Vortrag meiner Einschätzung nach nicht. Um die Zeit zu füllen Wikipedia:

    greetz blackbone
     
  6. 20. Februar 2008
    AW: Destruktor, Konstruktor, Vererbungen

    hab auch lang gebraucht bei php.

    hier mal beispiele:

    kontruktor
    PHP:
    class  Foo  {
        public 
    $i  0 ;

        
    //diese funktion wird beim erstellen einer instanz dieser klasse aufgerufen
        
    public function  __construct () {
            
    $this -> 1 //bei neuer instanz $i auf 1 setzen
        
    }

        public function 
    getI () {
            return 
    $this -> i ;
        }
    }

    $foo  = new  Foo //jetzt wird die funktion __construct aufgerufen
    print  $foo -> getI ();  //1
    destruktor
    PHP:
    class  Foo  {
        public 
    $blah ;
        
        public 
    cunftion machWas () {
            
    $this -> blah  123456789 ;
        }
        
        public function 
    __destruct () {
            unset(
    $this -> blah );  //in php evtl. nicht sehr sinnvoll
            //aber man kann ja zb sowas machen:
            
    file_put_contents ( 'cache_dies_klasse.txt' serialize ( $this ));
        }
    }
    vererbung
    PHP:
    class  Foo  {
        public function 
    sagHallo () {
            return 
    'hallo' ;
        }
        
        public function 
    sagEnde )() {
            return 
    'ende!' ;
        }
    }

    class 
    Bar  extends  Foo  {
        public function 
    sagWelt () {
            return 
    'welt' ;
        }
        
        
    //hier kann ich auch methoden von Foo überschreiben
        
    public function  sagEnde () {
            return 
    'ende?' ;
        }
    }

    //da die klasse Bar alle als public oder protected deklarierten funktionen von Foo übernommen hat
    //kann Bar jetzt auch sagHallo()
    $foo  = new  Bar ;
    print 
    $foo -> sagHallo ();  //hallo
    print  ' ' ;
    print 
    $foo -> sagWelt ();  //welt
    print  $foo -> sageEnde ();  //ende?
    Willkommen im PHP Wiki von php::bar! – php bar
     
  7. 28. Februar 2008
    AW: Destruktor, Konstruktor, Vererbungen

    super dankes BWs sind raus.

    hab eben im internet gelesen das konstruktoren nicht vererbbar sind, aber nach dem code von murdoc ist ja das gegenteil der fall? weiß da jemand mehr?
     
  8. 28. Februar 2008
    AW: Destruktor, Konstruktor, Vererbungen

    naja, in delphi schon *g*, sonst hätteste in der erbenden klasse ja auch keinen konstruktor--> is schlecht...mfg coach
     
  9. 28. Februar 2008
    AW: Destruktor, Konstruktor, Vererbungen

    in delphi kannst du den konstruktor auch nicht vererben.. jede unterklasse hat ihren eigenen kontruktor.. wenn du den konstruktor der vererbenden klasse aufrufen möchtest, musst du das mit inherited create() machen.
    und man konstruktoren aus dem einfachen grund nicht vererben, da bei ihrem aufruf der speicher für die in der klasse verwendeten variablen allokalisiert wird.. und da unterklassen im normalfall komplexer sind und somit mehr variablen/ffunktionen habe, brauchen sie auch mehr speicher der zur verfügung stehen muss und den kennt nur der konstruktor der erbenden klasse..
     
  10. 2. März 2008
    AW: Destruktor, Konstruktor, Vererbungen

    naja, also bleibt er errreichbar in der erbenden klasse, oder?
     
  11. 2. März 2008
    AW: Destruktor, Konstruktor, Vererbungen

    Also wenn du echt nur ne Präsentation machen musst, dann würd ich einfach deine Präsentation so gestallten, das du vllt. 3 min dazu was sagst, und vllt. 2 min nen Beispiel dazu bringst.

    Also quasi so.
    1. Was ist ein Konstruktor
    2. Was kann ich damit großartig machen und wie mach ich Das
    3. Nen Beispiel und dieses nach ausführlich erklärt!

    Damit bekommst du locker 5 min pro thema voll!
    noch paar animationen und die sache ist geritzt wenn du gut mit Powerpoint arbeiten kannst!
     
  12. 3. März 2008
    AW: Destruktor, Konstruktor, Vererbungen

    Also wir haben gerade im Unterricht Java das selbe Thema. In meinem Java Buch steht unter Konstruktor folgendes:

    Die Aufgabe eines Konstruktors ist es, bei der Objekterzeugung (also beim Aufruf eines Konstruktors Speicherplatz zu reservieren. Ohne diesen Vorgang ist ein Arbeiten mit einem Objekt nicht möglich, da ein Benennen eines Bezeichnersvon einer Klasse nicht ausreicht.

    da steht noch mehr im Buch, aber ich glaub nicht das das noch viel hilft weil schon viel gesagt wurde.
     
  13. 3. März 2008
    AW: Destruktor, Konstruktor, Vererbungen

    richtig, bleibt erreichbar, wird aber nciht vererbt. vererbt heißt ja, dass du ne methode aufrufen kannst, ohne diese in der klasse neu zu definieren. die create klasse wird aber neu definiert ( wenn du es nciht machst, macht es der compiler). das heißt du kannst jede methode der vererbenden klasse in deiner unterklasse aufrufen, ohne diese zu überschreiben bzw neu zu definieren. nur wenn du versucht so auf den konstruktor zuzugreifen, wird dir dein compiler normalerweise nen fehler ausgeben.
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.