Class swift-初始化类中的另一个类?

Class swift-初始化类中的另一个类?,class,swift,object,Class,Swift,Object,大家好,我是编程新手,仅供参考!这就是我面临的问题:我有两类:人类和宠物。Pet类有一个名为eat的方法,它打印一条简单的“eat”行。Human类有一个从Pet类调用eat方法的方法。我试图实现这一点的方法是在Human类中创建一个Pet对象,以便Human方法可以调用Pet方法 这样做对吗?我在尝试在人类体内创造宠物时也遇到了问题 这就是我到目前为止所做的: class Human{ var humanName: String var Pet = Pets(petName: String,

大家好,我是编程新手,仅供参考!这就是我面临的问题:我有两类:人类和宠物。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...")
}
谢谢大家!

更改此行:

var pet = Pets(petName: String, noise: String, canMakeNoise: Bool)
var pet: Pets?
关于这一行:

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
更改此行:

var pet = Pets(petName: String, noise: String, canMakeNoise: Bool)
var pet: Pets?
关于这一行:

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
更改此行:

var pet = Pets(petName: String, noise: String, canMakeNoise: Bool)
var pet: Pets?
关于这一行:

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
更改此行:

var pet = Pets(petName: String, noise: String, canMakeNoise: Bool)
var pet: Pets?
关于这一行:

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

谢谢你的回复!我有宠物吗?但现在它在抱怨,“类型名之后应该有成员名或构造函数调用”对不起,我编辑了我的答案。您应该使用
var pet:Pets?
它起作用了!非常感谢你,我永远都被困在这里了@MichaelNinh由于它的帮助,请将ridvankucuk的答案标记为正确(单击勾号)。感谢您的回复!我有宠物吗?但现在它在抱怨,“类型名之后应该有成员名或构造函数调用”对不起,我编辑了我的答案。您应该使用
var pet:Pets?
它起作用了!非常感谢你,我永远都被困在这里了@MichaelNinh由于它的帮助,请将ridvankucuk的答案标记为正确(单击勾号)。感谢您的回复!我有宠物吗?但现在它在抱怨,“类型名之后应该有成员名或构造函数调用”对不起,我编辑了我的答案。您应该使用
var pet:Pets?
它起作用了!非常感谢你,我永远都被困在这里了@MichaelNinh由于它的帮助,请将ridvankucuk的答案标记为正确(单击勾号)。感谢您的回复!我有宠物吗?但现在它在抱怨,“类型名之后应该有成员名或构造函数调用”对不起,我编辑了我的答案。您应该使用
var pet:Pets?
它起作用了!非常感谢你,我永远都被困在这里了@MichaelNinh如果有帮助,请将ridvankucuk的答案标记为正确(单击勾号)。