1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Oop

    • Frage
  • beat
  • 10. Juni 2007 um 23:41
  • Unerledigt
  • beat
    14
    beat
    Mitglied
    Reaktionen
    2
    Punkte
    2.007
    Beiträge
    338
    • 10. Juni 2007 um 23:41
    • #1

    Hallo,

    lerne gerade für Objektorientierte Programmierung und mir ist folgendes unklar.

    Wann sind zwei Objekte identisch bzw gleich. Kann das irgendwer gut erklären??

    Ist es so dass zwei Objeke identisch sind wenn sie die selbe adresse im speicher haben?

    also zb:

    Haus haus = new Haus();
    Haus anderesHaus = haus;

    Sind zwei Objekte gleich wenn sie den sleben zustand haben??

    Also zb

    Auto golf1 = new Auto("Golf");
    Auto golf2 = new Auto("Golf");

    mfg

    Visit: http://itunes.apple.com/de/artist/cbh-mobile/id338117761

  • Paulchen
    1
    Paulchen
    Gast
    • 11. Juni 2007 um 00:06
    • #2
    Zitat von beat

    Wann sind zwei Objekte identisch bzw gleich. Kann das irgendwer gut erklären??

    Im Skriptum zu OOP bei Puntigam ist das ohnehin sehr schön erklärt (ich weiß nicht, ob du die Java- am Complang oder die C++-Variante, die es an irgendeinem anderen Institut gibt machst): http://www.complang.tuwien.ac.at/franz/objektor…t.html#skriptum

    Zitat von beat

    Ist es so dass zwei Objeke identisch sind wenn sie die selbe adresse im speicher haben?

    Ja.

    Zitat von beat

    Sind zwei Objekte gleich wenn sie den sleben zustand haben??

    Ja.

  • beat
    14
    beat
    Mitglied
    Reaktionen
    2
    Punkte
    2.007
    Beiträge
    338
    • 11. Juni 2007 um 00:33
    • #3

    Danke für die Antwort.

    Eine Frage hätte ich nocht.

    Ich habe noch nicht ganz verstanden was genau ein deklarierter Typ, ein statischer Typ und ein Dynamscher Typ ist. Allerdings ist das denk ich fürs weitere verständnis sehr wichtig. Aus dem Teil wo das im Skriptum steht werd ich nicht wirklich schlau.

    Ein deklarierter Typ ist nehm ich mal an wenn man explizit sowas schreibt wie Objekt o = new Objekt();

    bei den anderen hab ich keine Ahnung

    hat statischer typ irgendwas mit "static" zu tun???

    Visit: http://itunes.apple.com/de/artist/cbh-mobile/id338117761

  • sauzachn
    17
    sauzachn
    Mitglied
    Reaktionen
    51
    Punkte
    3.101
    Beiträge
    606
    • 11. Juni 2007 um 09:51
    • #4
    Zitat von beat

    Ich habe noch nicht ganz verstanden was genau ein deklarierter Typ, ein statischer Typ und ein Dynamscher Typ ist.


    Ich kann mich in dem Punkt nicht mehr genau an das Skriptum erinnern, aber im allg. Sprachgebrauch wird es wie folgt verwendet.

    Beispiel:

    Code
    Typ t; 
    Untertyp u; 
    t = u;


    Deklarierter bzw. statischer Typ von t ist "Typ". Dynamischer Typ von "t" ist "Untertyp".

    Es hat daher absolut nichts mit "static" zu tun.

    Dipper dipper dii dipper dii dipper dii duuu

  • 12er
    10
    12er
    Mitglied
    Reaktionen
    1
    Punkte
    956
    Beiträge
    178
    • 11. Juni 2007 um 10:03
    • #5
    Zitat von beat

    Danke für die Antwort.

    Eine Frage hätte ich nocht.

    Ich habe noch nicht ganz verstanden was genau ein deklarierter Typ, ein statischer Typ und ein Dynamscher Typ ist. Allerdings ist das denk ich fürs weitere verständnis sehr wichtig. Aus dem Teil wo das im Skriptum steht werd ich nicht wirklich schlau.

    Ein deklarierter Typ ist nehm ich mal an wenn man explizit sowas schreibt wie Objekt o = new Objekt();

    bei den anderen hab ich keine Ahnung

    hat statischer typ irgendwas mit "static" zu tun???

    Alles anzeigen

    Statischer typ hat afaik nichts mit static zu tun. Der statische Typ einer Variable ist jener Typ, den die Variable im fertig kompilierten Programm hat, also der zur Compilierzeit bekannt ist. Daher muss der statische Typ nicht zwangsläufig dem deklarierten Typ entsprechen. Beispiel:
    Sei der Objekttyp von U Untertyp des Objekttyps von B, und folgender Code gegeben.

    Code
    B b = new U();

    So ist U der dynamische Typ von b (in dieser Zeile), und B bei schlechten Compilern der statische Typ. Gute Compiler werden in dieser Zeile eventuell den statischen Typ U verwenden.
    Anderes Beispiel:

    Code
    B b = factorymethod(); //es ist nicht vorhersehbar, ob factorymethod eine Instanz von B oder U zurückgibt


    so ist B auf jedenfall der statische Typ der Variable.

  • beat
    14
    beat
    Mitglied
    Reaktionen
    2
    Punkte
    2.007
    Beiträge
    338
    • 16. Juni 2007 um 17:26
    • #6

    verstehe, danke für die antworten

    Visit: http://itunes.apple.com/de/artist/cbh-mobile/id338117761

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung