swift - 在类中初始化另一个类?

时间:2015-05-27 17:29:09

标签: class swift object

大家好,我是编程FYI的初学者!这就是我遇到的问题:我有两个类:Human和Pet。 Pet类有一个名为eat的方法,可以打印一个简单的" eat"线。 Human类有一个从Pet类调用eat方法的方法。我试图实现这个的方法是在Human类中创建一个Pet对象,以便Human方法可以调用Pet方法。

这是一个正确的方法吗?我也试图在人类内部创造宠物......

这是我到目前为止所做的:

class Human{
var humanName: String
var Pet = Pets(petName: String, noise: String, canMakeNoise: Bool)

init(humanName: String, petName: String, noise: String, canMakeNoise: Bool){
    self.humanName = humanName

func feedPet(){
        //insert Feed function here
    }

class Pets{
var petName: String
var noise: String
var canMakeNoise: Bool

init(petName: String, noise:String, canMakeNoise:Bool){
    self.petName = petName
    self.noise = noise
    self.canMakeNoise = canMakeNoise
}

func eat(){
    println("\(self.petName) is eating...")
}

谢谢!

1 个答案:

答案 0 :(得分:2)

更改此行:

var pet = Pets(petName: String, noise: String, canMakeNoise: Bool)

到这一行:

var pet: Pets?

之后,您可以创建Human类的实例,例如:

var human = Human(humanName: "chris", petName: "abc", noise: "hi", canMakeNoise: true)
var dog = Pets(petName: "erty", noise:"bark", canMakeNoise:true)
human.pet = dog