Спирала, полиморфизъм в Java

полиморфизъм vJava

Полиморфизъм (от гръцки - "Търговски и много форми.").

интерфейси полиморфизъм. Интерфейси описват методите, които трябва да бъдат изпълнени в класната стая, както и вида на параметрите, които трябва да получат и да се върнат, всеки член на класа, но не съдържат условия за прилагане, оставяйки го изпълнява класа интерфейс. Това е полиморфизъм интерфейси. Няколко класове могат да приложат същия интерфейс в същото време, един клас може да реализира един или повече интерфейси. Интерфейси са от клас наследяване йерархия, така че те се премахне определението на метод или набор от методи в йерархията наследство.

Полиморфизъм наследство. Когато наследява клас получава всички методи на свойствата на базовия клас и събитията, тъй като те се изпълняват в базовия клас. Ако е необходимо, получени клас могат да се определят допълнителни членове или замени членовете наследени от базовия клас да ги прилагат по различен начин. А, получен клас може също да приложи интерфейси. В този случай, полиморфизма изглежда, че функционалността на база класа присъства в производните класове косвено. Функционалност може да се разшири и предефинирани. Производна класове, които осъществяват тази функционалност се появи в ролята на много форми.

Полиморфизъм използвайки абстрактни класове. Абстрактни класове подкрепят наследствата и интерфейсни възможности. При изграждането на комплекс йерархия, за да се осигури полиморфизъм, програмисти често трябва да се въведат методи в класа по-високо ниво, независимо от факта, че все още не са определени тези техники. Абстрактен клас - клас, чиито случаи не могат да бъдат създадени; Този клас може да служи само като наследство базов клас. Вие не може да обяви абстрактни конструктори или абстрактни статични методи. Някои или всички от членовете на този клас може да остане неизпълнено, изпълнението им трябва да се гарантира, че този клас наследява. Определени класове, които не се отменят всички абстрактни методи трябва да бъдат отбелязани като абстрактно. Извлечения клас също могат да приложат допълнителни интерфейси.

Методи Полиморфизъм способност класове поддържат различни методи за реализиране на едно и също име - един начин за изпълнение на полиморфизъм. Различни приложения на методи със същото име в Java се нарича метод претоварване. В езици, които не поддържат претоварване на методи, всеки метод трябва да се дава уникално име. На практика, често трябва да приложи същия метод за различни типове данни. Правото да се избере конкретна версия на метода, предвиден от компилатора.

Отделни методи за този полиморфизъм е полиморфизъм методи с променлив брой аргументи, въведени в Java 2 версия 5.0. Претоварване методите, предоставени тук по подразбиране, т.е. претоварен метод се нарича с различен брой аргументи, а в някои случаи дори и без параметри.

Метод претоварване обикновено тясно свързано с чувството за операции. Отговаря за изграждането на претоварени методи и изпълнение на хомогенна по смисъла на операциите се носи от строителя.

Полиморфизъм чрез методи имат приоритет E слети претоварен методи със същото име са от същия клас, изброява параметрите да бъдат различни. Но ако методът на подклас съвпада с метода на суперкласа (генериран от класа), след това метод подклас отменя суперкласа метод. Едновременно с имената на необходимостта и метод и видовете входни и изходни параметри. В този случай метод за замяна е на базата на концепцията за динамично свързване (или късно свързване) прилагане полиморфизъм. Същността на динамични методи за планиране е, че решението да се обадя подтиснатия метода, приет по време на работа, а не по време на компилация. Въпреки това, последните -methods не са преформулирани, техните разговори могат да бъдат организирани по време на компилация и се нарича ранно задължителни.

Един пример, който илюстрира динамични техники за планиране (Dispatch файл Java.):

System.out.println ( "Метод callme клас А");