Wo ist der Unterschied zwischen Methoden und Attributen [Informatik]?
Was Unterscheidet ein Attribut von einer Methode und wie kann ich den Unterschied erkennen? Es geht hierbei hauptsächlich um Klassendiagramme. Die Beispiele die ich für ein Klassendiagramm haben mir nicht wirklich was gebracht, da die Methode doch genausogut ein Attribut sein könnte und zudem dabei immer mit unverständlichen Fachnegriffen gearbeitet wird, wie Integer, String oder sowas. Und wie schreibt man eine Methode / Attribut in einem Klassendiagramm auf von der Form? ( ich weiß, dass erst Attribut, dann Methode), aber in welcher Schreibweise?
2 Antworten
Attribute kann man sich als Eigenschaften vorstellen, die einen Wert repräsentieren. Methoden sind dagegen Handlungen, die das Objekt ausführen kann.
Ein Beispiel: Es gibt eine Klasse Person. Dann hat sie z.B. die Attribute Größe, Gewicht, Alter. Als Methoden hat sie z.B. geheLos, werfeGegenstand etc. Im Klassendiagramm gibt es dafür drei Bereiche. Im Obersten steht der Name der Klasse. Im Mittleren die Attribute mit Typ (- attributName: Typ) und im unteren Bereich die Methoden (+ methodenName() : Rückgabetyp).
Eine Methode tut etwas, ein Attribut ist eine Eigenschaft.
Ein Auto hat eine Farbe (Attribut) und ein Auto kann fahren (Methode). Ein Konto hat eine Kontonummer (Attribut) und kann Beträge transferieren (Methode). Ein Hund hat eine Rasse (Attribut) und kann bellen (Methode).
Beim Klassenentwurf kannst du es durch clevere Namenswahl ganz gut unterscheiden - ein guter Name für ein Attribut ist in der Regel ein Substantiv oder ein Adjektiv, ein guter Name für eine Methode ist in der Regel ein Verb.