{"id":1076,"date":"2016-01-07T12:01:01","date_gmt":"2016-01-07T12:01:01","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=1076"},"modified":"2016-01-08T08:58:00","modified_gmt":"2016-01-08T08:58:00","slug":"swift-vererbung","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/swift-vererbung\/","title":{"rendered":"Swift: Vererbung"},"content":{"rendered":"<ul>\n<li>Alle Swift Objekte sind Subklassen der Klasse NSObjekt oder einer ihrer Subklassen. Die Superklasse wird mit : in der Definition angegeben<br \/>\nclass A: Superklasse.<\/li>\n<li>Das Init muss alle Paramter der Superklasse enthalten und weist dieser mit super.init(variable1 = variable1) einen Wert zu<\/li>\n<li>Variablen der Superklasse k\u00f6nnen (ohne super) im init \u00fcberschrieben werden.\u00a0 variable2 = 5;<\/li>\n<li>Funktionen werden ausserhalb des init() \u00fcberschrieben und brauchend das keyword override.<a href=\"https:\/\/developer.apple.com\/library\/ios\/referencelibrary\/GettingStarted\/DevelopiOSAppsSwift\/Lesson1.html#\/\/apple_ref\/doc\/uid\/TP40015214-CH3-SW1\">Bsp der iOS Developper Site<\/a><\/li>\n<\/ul>\n<pre class=\"kt\">    class NamedShape {\r\n       <strong> var numberOfSides = 0<\/strong>\r\n        var name: String\r\n        \r\n        init(<strong>name: String<\/strong>) {\r\n            self.name = name     \/\/ self f\u00fcr eigene Klassenvariable\r\n        }\r\n        \r\n        func simpleDescription() -&gt; String {\r\n            return \"A shape with \\(numberOfSides) sides.\"\r\n        }\r\n    }\r\n\r\n\r\n    class Square<strong>: NamedShape<\/strong> {\r\n        var sideLength: Double\r\n        \r\n        init(sideLength: Double, <strong>name: String<\/strong>) {\r\n            self.sideLength = sideLength   \/\/ eigene Klassenvariable\r\n            <strong>super.init(name: name)    \/\/ Variable der Superklasse<\/strong>\r\n            <strong>numberOfSides = 4 \/\/ \u00dcberschreibt Variable der Superklasse<\/strong>\r\n        }\r\n        \r\n        func area() -&gt;  Double {\r\n            return sideLength * sideLength\r\n        }\r\n        \r\n        <strong>override<\/strong> func simpleDescription() -&gt; String {\r\n            return \"A square with sides of length \\(sideLength).\"\r\n        }\r\n    }\r\n    let testSquare = Square(sideLength: 5.2, name: \"my test square\")\r\n    testSquare.area()\r\n    testSquare.simpleDescription()<\/pre>\n<p><code>..<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Alle Swift Objekte sind Subklassen der Klasse NSObjekt oder einer ihrer Subklassen. Die Superklasse wird mit : in der Definition angegeben class A: Superklasse. Das Init muss alle Paramter der Superklasse enthalten und weist dieser mit super.init(variable1 = variable1) einen Wert zu Variablen der Superklasse k\u00f6nnen (ohne super) im init \u00fcberschrieben werden.\u00a0 variable2 = 5; &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/swift-vererbung\/\" class=\"more-link\"><span class=\"screen-reader-text\">Swift: Vererbung<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[73],"tags":[71,72],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1076"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=1076"}],"version-history":[{"count":4,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1076\/revisions"}],"predecessor-version":[{"id":1080,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1076\/revisions\/1080"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=1076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=1076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=1076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}