Создайте класс Triangle со свойствами для хранения длины каждой стороны. Треугольники называются разносторонними, когда все три стороны имеют разную длину, равнобедренными, когда две стороны имеют одинаковую длину, или равносторонними, когда все три стороны имеют одинаковую длину.
Создайте инициализатор для своего класса, который принимает три аргумента и правильно устанавливает свойства класса. Затем создайте второй инициализатор, который будет использоваться, когда ваш треугольник равносторонний. Помните, что все три стороны будут одинаковой длины, поэтому этот метод должен принимать только один аргумент, но при этом должен устанавливать все три свойства. Попробуйте сначала написать этот инициализатор как назначенный инициализатор, а затем преобразовать его в удобный инициализатор. Наконец, нам нужен инициализатор для равнобедренных треугольников, который принимает два аргумента. Подумайте, как вы должны настроить внешние имена для ваших параметров, чтобы было ясно, какое значение будет использоваться для двух сторон.
Меня очень смущает этот вопрос. Мой вопрос: как я должен создать 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)
}
}