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.