Anzeige:
Ergebnis 1 bis 12 von 12

Thema: UML (mit Umbrello und C)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Bei C++ musst du das Objekt auch angeben, auf dem die Methode ausgeführt werden soll. Der Unterschied ist lediglich in der Positionierung im Befehl.

    Bei globalen Objekten und frei stehenden Funktionen braucht man das in beiden Sprachen nicht, allerdings hat man dann eine sehr starke Bindung von Funktion an eine bestimmte Instanz.
    Wenn man die selbe Funktion auf eine andere Instanz ausführen möchte, muss man entweder die Funktion duplizieren oder das Objekt übergebbar machen.

    Für mein Gefühl ist das der Aufwand, gleich am Anfang die Signatur der Funktion so zu gestalten, besser einkalkulierbar, als spätere Änderungen.

    Für mich ist der Ansatz nur globale Objekte zu verwenden am ehesten vergleichbar mit Klassen, die nur statische Daten und statische Methoden enthalten. Und das macht man auch nur sehr selten, wenn überhaupt.

    Aber Programmierung ist eben auch sehr vom persönlichen Geschmack abhängig

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  2. #2
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Na, der this Zeiger muss nun bei einer Methode nicht mit angegeben werden.
    Alle Objekte möchte ich ja auch nicht global erstellen, sondern die Wichtigen. Auch finde ich es einmal eine gute Übung nicht OOP zu programmieren, ist eigentlich auch interessant, wie man es dann lößt.

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Zitat Zitat von dml Beitrag anzeigen
    Na, der this Zeiger muss nun bei einer Methode nicht mit angegeben werden.
    Nicht in der Argumentenliste aber sehr wohl als Teil des Aufrufs:
    Code:
    // in C
    funktion(object, parameter)
    
    // in C++
    object->funktion(parameter)
    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Stimmt auch wieder.

    Es mischen sich aber Objekte in die Parameterliste, wodurch sie von Diesen schwerer zu unterscheiden sind.
    Bei Auto->tanken(benzin); weiß ich das die Methode tanken durch den Parameter benzin den Zustannd des Autos verändert.
    Bei giessenPflanze(Pflanze, Wasser); ist das logisch, aber nicht gesichert.
    Geändert von dml (15-08-2012 um 11:33 Uhr) Grund: besser Wissen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •