Môžeš vymenovať rôzne typy polymorfizmu v objektovo orientovanom programovaní?
sobes.tech AI
Odpoveď od AI
V objektovo orientovanom programovaní (OOP) rozlišujeme niekoľko hlavných typov polymorfizmu:
-
Polymorfizmus podtypu (Subtype Polymorphism) — najbežnejší typ, realizovaný cez dedičstvo a prepísanie metód. Umožňuje používať objekty podtried namiesto objektov základnej triedy.
-
Parametrický polymorfizmus (Parametric Polymorphism) — realizuje sa pomocou generických typov, keď funkcie alebo triedy pracujú s akýmkoľvek typom dát.
-
Ad-hoc polymorfizmus (Ad-hoc Polymorphism) — zahŕňa preťaženie funkcií a operátorov, keď jedna funkcia má niekoľko implementácií s rôznymi typmi parametrov.
-
Runtime polymorfizmus (Runtime Polymorphism) — sa dosahuje pomocou virtuálnych metód a dynamického viazania, keď volanie metódy je určené počas behu.
Príklad podtypu polymorfizmu v Swift (iOS):
class Animal {
func sound() {
print("Nejaký zvuk")
}
}
class Dog: Animal {
override func sound() {
print("Štek")
}
}
class Cat: Animal {
override func sound() {
print("Mňau")
}
}
let animals: [Animal] = [Dog(), Cat()]
for animal in animals {
animal.sound() // Volanie metódy závisí od skutočného typu objektu
}