我想弄清楚下面的代码中“ A”应该是什么

时间:2019-11-17 10:20:19

标签: swift

我有一个拥有sub("[!@#$%^’&*(),.?":{}|<>]"; "") sub("/[!@#$%^’&*(),.?":{}|<>]/g"; "") sub("/\W|_/g"; "") 财产的Zoo类,这意味着本周动物园最受欢迎的一类。以下代码无法正常工作,为了解决问题,A的数据类型应该是什么?

weeklyHot

enter image description here

1 个答案:

答案 0 :(得分:2)

据我了解,您想定义一个Zoo类,其中包含一个变量,该变量指示您定义的三种类型(大象,老虎或马)中的一种动物在一周中“很热”。由于listCars()可以是任何动物,因此其类型应为weekHot

在最后两行中,您试图声明一个动物园变量,其“每周高温”是一只老虎。这可以通过Animal来完成,它利用let zoo = Zoo(weeklyHot:Tiger(animal: "my tiger"))中定义的初始化程序,您可以将“ my Tiger”替换为您想要的动物名称。

您缺少Animalinit方法的实现。可以理解,您想将Zoo参数分配给类weeklyHot的{​​{1}}变量。可以通过weekHot完成。

您可以通过调用eat()方法来测试新声明的Zoo中的“ weekHot”动物确实是老虎:Zoo

完整的代码如下:

self.weekHot = weeklyHot

标准输出是

zoo.weekHot.eat()

您可以从this开发文档中了解有关Swift中继承的更多信息。