Was ist der Unterschied zwischen static func und class func in Swift?
Hallo! Ich habe angefangen, Swift zu lernen, und bin auf zwei ähnliche Arten gestoßen, Methoden zu deklarieren: `static func` und `class func`. Anscheinend erlauben beide, die Methode auf Typebene aufzurufen, nicht auf einer Instanz, aber ich verstehe den grundlegenden Unterschied nicht.\n\nZum Beispiel kann ich schreiben:\n\n```swift\nclass MyClass {\n static func staticMethod() {\n print("Das ist eine statische Methode")\n }\n \n class func classMethod() {\n print("Das ist eine Klassenmethode")\n }\n}\n```\n\nUnd sie auf die gleiche Weise aufrufen: `MyClass.staticMethod()` und `MyClass.classMethod()`. Das Ergebnis ist dasselbe – es werden Zeilen ausgegeben. Wozu dann zwei verschiedene Schlüsselwörter?\n\nIch habe versucht, eine Unterklasse zu erstellen und die Methode zu überschreiben, aber der Compiler meckert, wenn ich versuche, `static func` zu überschreiben. `class func` scheint dagegen das Überschreiben zu erlauben.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen