Напиши программу на языке программирования Kotlin, в которой будет открытый класс Animal с открытым методом makeSound(), который выводит звук, издаваемый животным. Создай вэтой программе подклассы Dog, Cat и Cow, которые наследуются от класса Animal и переопредел метод makeSound() для каждого из них. Создай функцию makeAnimalsMakeSound(), которая принимает массив объектов типа Animal и вызывает метод makeSound() для каждого объекта. Также создай массив объектов типа Animal, содержащий объекты Dog, Cat и Cow, и передай его в функцию makeAnimalsMakeSound()
kotlin
open class Animal {
open fun makeSound() {
println("Animal makes a sound")
}
}
class Dog : Animal() {
override fun makeSound() {
println("Dog makes a sound: Woof")
}
}
class Cat : Animal() {
override fun makeSound() {
println("Cat makes a sound: Meow")
}
}
class Cow : Animal() {
override fun makeSound() {
println("Cow makes a sound: Moo")
}
}
fun makeAnimalsMakeSound(animals: Array<Animal>) {
for (animal in animals) {
animal.makeSound()
}
}
fun main() {
val animals: Array<Animal> = arrayOf(Dog(), Cat(), Cow())
makeAnimalsMakeSound(animals)
}
В этом решении мы создали открытый класс `Animal` с открытым методом `makeSound()`, который выводит звук, издаваемый животным. Затем мы создали подклассы `Dog`, `Cat` и `Cow`, которые наследуются от класса `Animal` и переопределяют метод `makeSound()`.
Мы также создали функцию `makeAnimalsMakeSound()`, которая принимает массив объектов типа `Animal` и вызывает метод `makeSound()` для каждого объекта. В функции `main()` мы создали массив объектов типа `Animal`, содержащий объекты `Dog`, `Cat` и `Cow`, и передали его в функцию `makeAnimalsMakeSound()`.
Результат выполнения программы будет:
Dog makes a sound: Woof
Cat makes a sound: Meow
Cow makes a sound: Moo
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет