Junior — Middle
Какви методи могат да се използват за разширяване на функционалността на вече реализиран клас?
sobes.tech AI
Отговор от AI
За разширяване на функционалността на вече реализиран клас в Android (Java/Kotlin), могат да се използват няколко метода:
-
Наследяване — създаване на подклас, който разширява базовия клас и добавя или презаписва методи.
-
Композиция — включване на екземпляр от съществуващ клас в нов клас и делегиране на извиквания, добавяйки нова логика.
-
Декоратор — обвиване на обект в друг, който добавя функционалност, запазвайки интерфейса.
-
Extension Functions (в Kotlin) — добавяне на нови функции към съществуващи класове без наследяване.
Пример за наследяване в Java:
public class BaseClass {
public void doSomething() {
System.out.println("Базова реализация");
}
}
public class ExtendedClass extends BaseClass {
@Override
public void doSomething() {
super.doSomething();
System.out.println("Разширена функционалност");
}
}
Пример за extension function в Kotlin:
fun String.addExclamation(): String {
return this + "!"
}
val greeting = "Hello".addExclamation() // "Hello!"
Изборът на метод зависи от конкретната задача и ограниченията на проекта.