gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 13:13:09 24 4
gpt4 key购买 nike

大家好我是编程初学者!这是我遇到的问题:我有两个类(class):人类和宠物。 Pet 类有一个名为 eat 的方法,它打印一条简单的“eat”行。 Human 类有一个调用 Pet 类的 eat 方法的方法。我尝试实现它的方法是在 Human 类中创建一个 Pet 对象,以便 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?

然后你可以创建一个 Human 类的实例,例如:

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

关于class - swift - 在一个类中初始化另一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30489340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com