Back to questions
Junior — Middle
106
Какова роль интерфейсов в процессе разработки программного обеспечения и почему их используют?
Answer from AI
sobes.tech AI
Интерфейсы в разработке ПО служат для определения контракта — набора методов, которые должен реализовать класс или объект. Они позволяют отделить описание поведения от конкретной реализации, что повышает гибкость и расширяемость кода.
Используют интерфейсы для:
- Обеспечения полиморфизма — разные классы могут реализовывать один интерфейс по-разному.
- Упрощения тестирования — можно подменять реализации на заглушки или моки.
- Улучшения поддержки и масштабируемости — легко добавлять новые реализации без изменения существующего кода.
Пример на Kotlin (Android):
interface ClickListener {
fun onClick()
}
class Button(private val listener: ClickListener) {
fun click() {
listener.onClick()
}
}
class MyClickListener : ClickListener {
override fun onClick() {
println("Button clicked")
}
}
val button = Button(MyClickListener())
button.click() // Выведет: Button clicked