【发布时间】:2019-04-15 16:42:53
【问题描述】:
创建一个带有属性的三角形类来存储每条边的长度。三边长度不同的三角形称为不等边三角形,两条边长度相同的三角形称为等腰三角形,三边长度相同的三角形称为等边三角形。
为你的类创建一个初始化器,它接受三个参数并正确设置类属性。接下来,创建第二个初始化器以在三角形等边时使用。请记住,所有三个边的长度都相同,因此此方法应仅采用一个参数,但仍应设置所有三个属性。尝试先将此初始化程序编写为指定初始化程序,然后将其转换为便利初始化程序。 最后,我们需要一个带两个参数的等腰三角形的初始化器。想想你应该如何为你的参数设置外部名称,以明确哪个值将用于两侧
这个问题让我很困惑。我的问题是:我应该如何在单个班级中创建等腰和不等腰的init?还是我应该创建另一个类?我需要帮助。我是斯威夫特的新手。这是我到目前为止所得到的。
class Triangle {
var sideA: Int
var sideB: Int
var sideC: Int
init(sideA: Int, sideB: Int, sideC: Int) {
self.sideA = sideA
self.sideB = sideB
self.sideC = sideC
}
convenience init(equilateralWithEdge edge:Int) {
self.init(sideA: edge, sideB: edge, sideC:edge)
}
}
【问题讨论】:
-
您发布的代码很好。你的实际问题是什么?
-
好吧,我为等边三角形创建了一个 init,我想知道如何将不等腰和等腰的 init 放在一个类中。
-
您添加其他初始化程序与添加等边三角形的初始化程序完全相同。
标签: swift initializer