title: Changing superclass variable in Swift
body: <p>I read this sentence in the Swift documentation provided by Apple</p>
  
  <pre><code>“Subclasses are only allowed to modify variable properties of superclasses during initialization.”
  
  Excerpt From: Apple Inc. “The Swift Programming Language.” iBooks.
  </code></pre>
  
  <p>But if I run this code it works with no problems: </p>
  
  <pre><code>class Person{
      var name:String
  
      init(name:String){
          self.name = name
      }
  }
  
  class SuperHero:Person{
      var power:String?
  
      init(name:String, power:String?){
          self.power = power
          super.init(name: name)
      }
  
      func changeName (){
          // HERE I'M CHANGING A SUPERCLASS VARIABLE outside Initialization!!!
          self.name = "Mark"
      }
  }
  
  let superman = SuperHero(name: "Superman", power: "Fly!")
  superman.changeName()
  println("\(superman.name)")
  </code></pre>
  
  <p>Have I misinterpreted the documentation?  </p>