[Swift] Class 1-1 (inheritance, referance copy)

iOS 2015. 7. 25. 21:03
반응형

class Person {

    let name: String

    var age: Int

    var nickname: String?

    

    init(name: String, age:Int, nickname: String? = nil)

    {

        self.name = name

        self.age = age

        self.nickname = nickname

    }

}


var personOne = Person(name: "John", age: 26)

var personTwo = Person(name: "Fred", age: 36, nickname: "T-bone")


class Mutant: Person {

    var level : Int

    var superPower: String

    

    init( name: String, age: Int, level: Int, superPower:String, nickname: String? = nil)

    {

        self.level = level

        self.superPower = superPower

        super.init(name: name, age: age, nickname: nickname)

        

    }

    

    func isMorePowerful(mutant: Mutant)->Bool {

        return ( level > mutant.level)

    }

}


var jim = Mutant(name: "Jim Neutron", age: 23, level:7, superPower: "Flight", nickname: "Flyin Jim")

var janet = Mutant(name: "Janet Jackson", age: 32, level: 8, superPower: "Telepathy", nickname: "The Brainac")


janet.isMorePowerful( jim )


class SomeClass {

    class func typeMethod( #string: String ) -> String {

        return string + "_ModifiedInClassMethod"

    }

}

var strToModify: String = "Happy String"

SomeClass.typeMethod(string: strToModify)




import UIKit


//class SimpleClass {

//    var stringProperty = "My String"

//}

//

//let variableOne: SimpleClass = SimpleClass ()

//variableOne.stringProperty = "Hello World!"

//

//let variableTwo = variableOne

//

//variableOne.stringProperty = "Changed"

//variableTwo.stringProperty


class SimpleClass {

    var rect : CGRect = CGRect(x: 0.0, y:0.0, width: 100, height: 1000)

}


var newSimpleClass = SimpleClass()


newSimpleClass.rect.size.height = 200


newSimpleClass.rect.size.height


var rect = newSimpleClass.rect

rect.size.width = 200

newSimpleClass.rect = rect


newSimpleClass.rect.size.width = 200

newSimpleClass.rect.origin.y = 10


newSimpleClass.rect



반응형

'iOS' 카테고리의 다른 글

swift IAP  (0) 2015.08.11
Linking is broken for static library (since Xcode6)  (0) 2015.07.30
[Swift] function 1-4  (0) 2015.07.23
[Swift] function 1-3  (0) 2015.07.23
[Swift] function 1-2  (0) 2015.07.23
: