Was genau ist/macht eine Klassenmethode?



  • Soviel glaube ich verstanden zu haben: In echten OOP-Sprachen können keine Funktionen außerhalb von Klassen definiert werden. Allgemeine Funktionen packt man dann in Klassen (Java.Math), die aber, nach der objektorientierten Idee, keine mehr sind. Welche weitere Aufgaben haben Klassenmethoden?

    In SAM's steht: "Klassenmethoden wirken sich auf die ganze Klasse aus, oder werden auf andere Objekte angewandt." Kann mir jemand erklären, was genau damit gemeint ist???? Am besten mit Beispielen (praktische Anwendungen). Bedanke mich im Vorraus für jede Antwort!



  • In echten OOP-Sprachen

    Wann ist eine Sprache echt? Und findest du nicht, das sich objektoreintierte Programmierungssprachen dann doch etwas doof anhört und ein einfaches oo Sprache wesentlich schöner klingt.

    Natürlich fällt mir grade jetzt kein tolles Beispiel ein. Aber da wird bestimmt gleich jemand anderes aushelfen.



  • Wann ist eine Sprache echt?

    Er meint wohl "rein". Eine reine OOP-Sprache ist z.B. Smalltalk (Java nicht.)



  • Warum Java nicht? Wie kann man in der Sprache anders als OOP programmieren?



  • Man kann in Java wunderbar prozedural programmieren, genauso gut wie z.B. in C. Die Programme dürften sich sogar recht ähnlich sehen.



  • Mit echt meinte ich tatsächlich rein. Ich wußte nicht, wie das geschrieben wird.
    Wenn jemandem über Klassenmethoden noch was einfällt (Beispiele) währe ich wirklich dankbar. Ich kann mir nichts darunter vorstellen und sollte es wissen.
    Ich meine, ich stelle die Frage nicht aus langeweile, auch wenn es den Eindruck macht.



  • Klassenmethoden/Variablen wirken sich auf die gesamte Klasse aus, zB. kannste dir eine Klassenvariable machen die immer incementiert wird wenn eine neue Instanz der Klasse erzeugt wird und immer decrementiert wird wenn die Instanz zerstört wird. Dadurch hast du jederzeit dass wissen wieviel Instanzen einer Klasse gerade laufen. Diese Klassenvariable ist also für jede Instanz der Klasse gleich bzw. die selbe. Es gibt nur eine davon.Wird es jetzt klarer ?


Anmelden zum Antworten