Создайте класс треугольника со свойствами для хранения длины каждой стороны. Треугольники называются скалярными, когда все три стороны имеют разную длину, равнобедренные, когда две стороны имеют одинаковую длину или равносторонние, когда все три стороны имеют одинаковую длину.Несколько инициализаторов в одном классе (быстро)
Создайте инициализатор для своего класса, который принимает три аргумента и правильно устанавливает свойства класса. Затем создайте второй инициализатор, который будет использоваться, когда ваш треугольник равносторонний. Помните, что все три стороны будут иметь одинаковую длину, поэтому этот метод должен принимать только один аргумент, но должен все же установить все три свойства. Попробуйте сначала записать этот инициализатор в качестве назначенного инициализатора, а затем преобразовать его в инициализатор удобства. Наконец, нам нужен инициализатор для равнобедренных треугольников, который принимает два аргумента. Подумайте о том, как вы должны настроить внешние имена для своих параметров, чтобы выяснить, какое значение будет использовано для двух сторон.
Этот вопрос меня смущает. Мой вопрос: как я должен создатьравнобедренных и масштабируемых в одном классе? Или я должен создать другой класс? Мне нужна помощь. Я новичок в Свифте. Вот что у меня есть до сих пор.
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)
}
}
Введенный код размещен отлично. Каков ваш реальный вопрос? – rmaddy
ну, я создал init для равностороннего треугольника, я хотел знать, как поставить init для сканера и равнобедренные все в одном классе. – AllocSystems
Вы добавляете другие инициализаторы точно так же, как вы добавили одно для равностороннего треугольника. – rmaddy