Čo je to polymorfizmus v objektovo orientovanom programovaní (OOP)?
sobes.tech AI
Odpoveď od AI
Polymorfizmus v objektovo orientovanom programovaní (OOP) je vlastnosť objektov, že sa správajú rôzne v závislosti od ich typu, čo umožňuje používať rovnaké rozhranie (metódu) na spracovanie rôznych typov dát. To zabezpečuje flexibilitu a rozšíriteľnosť kódu.
Hlavné typy polymorfizmu:
-
Polymorfizmus pri kompilácii (statický): Realizuje sa pomocou preťaženia metód (method overloading). Rôzne metódy majú rovnaké meno, ale líšia sa v množine a/alebo typoch parametrov. Kompilátor určuje, ktorú metódu volať na základe podpisu.
class Calculator { // Preťaženie metódy add public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } } -
Polymorfizmus pri behu (dynamický): Realizuje sa pomocou prepisovania metód (method overriding). Podtrieda poskytuje svoju špecifickú implementáciu metódy, ktorá je už definovaná v supertriede. Výber konkrétnej implementácie sa deje počas behu, na základe skutočného typu objektu.
class Animal { // Základná metóda public void sound() { System.out.println("Zviera vydáva zvuk"); } } class Dog extends Animal { // Prepisovanie metódy sound @Override public void sound() { System.out.println("Pes šteká"); } } // Príklad použitia // Animal myDog = new Dog(); // Skutočný typ objektu - Dog // myDog.sound(); // Volá sa metóda sound z triedy Dog
Polymorfizmus umožňuje písať abstraktnejší a jasnejšie popisujúci problémovú oblasť kód, uľahčuje údržbu a pridávanie nových funkcií bez zmeny existujúceho kódu. V kontexte QA a QA Automation je pochopenie polymorfizmu dôležité pre prácu s rámcami automatizácie, kde sa používajú abstraktné triedy/rozhrania a ich konkrétne implementácie (napríklad pri práci s ovládačmi pre rôzne prehliadače v Selenium).