Полиморфизъм в Java

Съдържание
В рамките на обектно-ориентираното програмиране има 3 основни стълба, наследство, което ни позволява да получим атрибутите и методите на родителски клас, капсулиране което ни позволява да поддържаме методите и атрибутите на клас и това не трябва да се вижда извън него и третото, което е полиморфизъм.
ПолиморфизъмДумата полиморфизъм идва от гръцка дума и означава, че има много форми, така че тогава можем да определим, че полиморфизмът е способността да се използват много форми в Java.
За да разберете какво полиморфизъм Трябва да разберем ключовите понятия, едно от тях са типовете, типът е определението, което се генерира от клас, така че това води до две допълнителни свързани понятия.
ПодтипКогато създаваме клас, който наследява от друг, ние създаваме a подтип, тъй като това е тип, получен от превъзходен тип, можем да кажем например, че ако имаме клас Геометрична фигура и от това създаваме клас Кръг което го наследява, тогава нашият клас Circle определя подтип на GeometricFigure.
СупертипътТочно обратното, когато клас е наследен, той се превръща в суперклас или родителски клас, затова сега се оказва, че супертип, тоест първичен тип или който помага да се определи неговият подтипове, ако следваме примера, който вече дефинирахме, супертипът би бил класът Геометрична фигура.
С това ние дефинираме понятията, които ще ни помогнат да разберем полиморфизма, ако поставим примера малко по -обширен, можем да кажем, че кръг винаги ще бъде от типа Геометрична фигура, но не всички видове Геометрична фигура те ще бъдат от този тип Кръг, ако говорим за класовете, които току -що дефинирахме, например, ако сега създадем подклас, който наследява от класа Геометрична фигура и се нарича Правоъгълник, сега имаме нов подтип, който все още е от типа Геометрична фигура но той придобива нова форма и тук е полиморфизмът.
Тъй като видяхме теорията на типовете, тогава можем да кажем, че подкласът винаги ще бъде от типа на своя родителски клас, но че родителският клас няма да бъде от типа на своя подклас или дъщерния клас, с това можем тогава вижте следния пример, където в метод искаме обект от типа Геометрична фигураСледователно, можем да получим многото му форми, в този случай можем да получим обект Circle или Rectangle, тъй като и двата, въпреки че са различни, споделят супертипа.
Нека видим на следващото изображение код, който ни показва как един метод би се държал с полиморфизъм:

В този пример методът show object очаква обект от тип Геометрична фигура, ако знаем, че Circle и Rectangle са подкласове на FigureGeometric, тогава можем да предадем техните обекти на метода, тъй като те са различни форми на FigureGeometric и изпълняват функцията.
Вече се научихме да използваме третия стълб на обектната ориентация, сега можем да изградим по -обширни методи, които могат да се използват повторно в различни реализации на нашите програми в Java.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave