Polimorfism în Java

Cuprins
În cadrul programării orientate pe obiecte există 3 piloni fundamentali, moştenire, care ne permite să obținem atributele și metodele unei clase părinte, încapsularea care ne permite să menținem metodele și atributele unei clase și care nu ar trebui să fie văzute în afara ei și a treia care este polimorfism.
PolimorfismCuvantul polimorfism provine dintr-un cuvânt grecesc și înseamnă că are multe forme, deci putem defini că polimorfismul este abilitatea de a folosi multe forme în Java.
Pentru a înțelege ce polimorfism Trebuie să înțelegem conceptele cheie, unul dintre ele sunt tipurile, un tip este definiția care este generată dintr-o clasă, deci acest lucru duce la două concepte conexe suplimentare.
SubtipulCând creăm o clasă care moștenește de la alta, creăm o subtip, deoarece este un tip derivat dintr-un tip superior, putem spune de exemplu că dacă avem o clasă Figura geometrică și din aceasta creăm o clasă Cerc care o moștenește, atunci clasa noastră Circle definește un subtip de GeometricFigure.
SupertypeEste opusul, atunci când o clasă este moștenită, ea devine o clasă superclasă sau părinte, de aceea acum se dovedește a fi supertip, adică tipul primar sau care ajută la definirea acestuia subtipuri, dacă urmăm exemplul pe care l-am definit deja, supertipul ar fi clasa Figura geometrică.
Cu aceasta definim conceptele care ne vor ajuta să înțelegem polimorfismul, dacă punem exemplul puțin mai extins, putem spune că un cerc va fi întotdeauna de tipul Figura geometrică, dar nu toate tipurile de Figura geometrică vor fi de genul Cerc, dacă vorbim despre clasele pe care tocmai le-am definit, de exemplu dacă acum creăm o subclasă care moștenește din clasă Figura geometrică și se numește Dreptunghi, acum avem un subtip nou, care este încă de tipul Figura geometrică dar ia o nouă formă și iată polimorfismul.
Deoarece am văzut teoria tipurilor, putem spune că o subclasă va fi întotdeauna de tipul clasei părinte, dar că clasa părinte nu va fi de tipul subclasei sau clasei copil, cu aceasta putem apoi vezi următorul exemplu în care într-o metodă cerem un obiect de acest tip Figura geometricăPrin urmare, putem primi numeroasele sale forme, în acest caz putem primi un obiect Circle sau Rectangle, deoarece ambele, în ciuda faptului că sunt diferite, împărtășesc supertipul.
Să vedem în imaginea următoare un cod care ne arată cum s-ar comporta o metodă cu polimorfism:

În acest exemplu, metoda show object așteaptă un obiect de tip Figura geometrică, dacă știm că Cercul și Dreptunghiul sunt subclasele FigureGeometric, atunci le putem transmite obiectele metodei, deoarece acestea sunt diferite forme ale FigureGeometric și îndeplinesc funcția.
Am învățat deja să folosim cel de-al treilea pilon al orientării obiectelor, acum putem construi metode mai extinse care pot fi refolosite în diferite implementări ale programelor noastre în Java.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave