Назад к вопросам
amoCRM
Junior — Middle
69
Как добавить функциональность к классу без необходимости изменения его исходного кода?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Чтобы добавить функциональность к классу без изменения его исходного кода, в Android (Java/Kotlin) можно использовать несколько подходов:
-
Наследование — создать подкласс и расширить или переопределить нужные методы.
-
Делегирование — создать новый класс, который содержит экземпляр исходного класса и реализует дополнительный функционал, перенаправляя вызовы.
-
Extension функции (в Kotlin) — позволяют добавлять новые методы к существующим классам без наследования и изменения исходного кода.
Пример extension функции в Kotlin:
// Добавляем функцию для класса String
fun String.isEmailValid(): Boolean {
return this.contains("@") && this.contains(".")
}
// Использование
val email = "test@example.com"
println(email.isEmailValid()) // true
Таким образом, extension функции — удобный способ расширить функциональность классов в Android без изменения их исходного кода.