Sobes.tech
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!"

Изборът на метод зависи от конкретната задача и ограниченията на проекта.