Sobes.tech
Junior — Middle

Jaka jest rola i cel klas abstrakcyjnych w programowaniu obiektowym?

sobes.tech AI

Odpowiedź od AI

Klasy abstrakcyjne w programowaniu obiektowym służą jako szablony do tworzenia innych klas. Nie mogą być bezpośrednio instancjonowane i zazwyczaj zawierają zarówno zaimplementowane metody, jak i metody abstrakcyjne (bez implementacji), które muszą być nadpisane w podklasach. Pozwala to na zdefiniowanie wspólnego interfejsu i podstawowego zachowania, zapewniając jednocześnie elastyczność dla konkretnych implementacji.

Przykład w Kotlin (Android):

abstract class Animal {
    abstract fun makeSound()
    fun sleep() {
        println("Śpi")
    }
}

class Dog : Animal() {
    override fun makeSound() {
        println("Hau-hau")
    }
}

Tutaj Animal jest klasą abstrakcyjną, która ustala ogólny kontrakt dla wszystkich zwierząt, a Dog implementuje konkretne zachowanie dźwięku.