创建一个Triangle类,其属性用于存储每边的长度。当三边长度不同时,三角形称为斜角面,当两边长度相同时,三角形称为等腰,或者当三边长度相同时,三角形称为等边。
为您的类创建一个初始化程序,它接受三个参数并正确设置类属性。接下来,创建第二个初始化器,以便在三角形为等边时使用。请记住,所有三个边都是相同的长度,所以这个方法应该只接受一个参数,但仍应设置所有三个属性。尝试首先将此初始化程序编写为指定的初始值设定项,然后将其转换为便捷初始化程序。 最后,我们想要一个带有两个参数的等腰三角形的初始化器。考虑如何设置参数的外部名称,以明确哪个值将用于双方
这个问题让我很困惑。我的问题是:我怎么能在一个班级中创建init
等腰和斜角肌?或者我应该创建另一个类?我需要帮助。我是Swift的新手。这是我到目前为止所做的。
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)
}
}
答案 0 :(得分:0)
以下是如何将另一个初始值设定项添加到将使用两个参数创建等腰三角形的同一个类中:
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 = sideA
}
init(sideA: Int, sideB: Int) {
self.sideA = sideA
self.sideB = sideB
self.sideC = sideB
}
convenience init(equilateralWithEdge edge:Int) {
self.init(sideA: edge, sideB: edge, sideC:edge)
}
}
答案 1 :(得分:-1)
class Your_ViewController : UIViewController {
var your_property_1 : String?
var your_property_2 : String?
init(your_property_1: String) {
self.your_property_1 = your_property_1
self.your_property_2 = nil
super.init(nibName: nil, bundle: nil)
}
init(your_property_2: String) {
self.your_property_2 = your_property_2
self.your_property_1 = nil
super.init(nibName: nil, bundle: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) is not supported")
}
}