ПОЛИМОРФИЗМ В JAVA | РУКОВОДСТВО ПО JAVA

Полиморфизм позволяет выполнять задачу несколькими способами. Давайте разберем слово «полиморфизм» и посмотрим на него: «поли» означает «много», а «морфос» означает «фигуры».

Давайте посмотрим на пример. Предположим, у нас есть четыре ученика, и мы попросили их нарисовать фигуру. Все четыре могут рисовать разные фигуры, такие как круг, треугольник и прямоугольник.

ПОЛИМОРФИЗМ IN JAVA | JAVA TUTORIAL

Мы увидим подробное объяснение с некоторыми примерами программ о полиморфизме в посте, посвященном полиморфизму.

В Java существует два типа полиморфизма

1. Полиморфизм времени компиляции (статическое связывание) — перегрузка метода
2. Полиморфизм во время выполнения (динамическое связывание) — переопределение метода

Мы можем реализовать полиморфизм с помощью «перегрузки метода» и «переопределения метода».

Я рекомендую вам просмотреть следующие сообщения.

Перегрузка метода : (статический полиморфизм/полиморфизм времени компиляции)

Переопределение метода: (динамический полиморфизм/полиморфизм времени выполнения)

Давайте рассмотрим несколько практических примеров как полиморфизма времени компиляции, так и полиморфизма времени выполнения.

Полиморфизм времени компиляции:

123456789101112131415161718192021222324

полиморфизм пакетов CompileTime; открытый класс CompileTimePolymorphismClass {void myMethod (int a) {System.out.println («значение a равно» + a);} void myMethod (int a, int b) {System.out.println («значение a равно» + a + ” и значение b равно ” + b);} void myMethod (String a) {System.out.println (a);} public static void main (String [] args) {CompileTimePolymorphismClass obj = new CompileTimePolymorphismClass() ;obj.myMethod(10);obj.myMethod(10, 20);obj.myMethod(“Я – строка”);} }

Вывод:

123

значение a равно 10значение a равно 10 и значение b равно 20I am a String

Полиморфизм времени выполнения:

123456789

package polymorphismRunTime; открытый класс MethodOverridingParentClass {public void myMethod(){System.out.println(“Я метод из родительского класса”);} }

12345678910111213141516

package polymorphismRunTime; открытый класс MethodOverridingChildClass extends MethodOverridingParentClass{public void myMethod(){System.out.println(“Я метод из дочернего класса”);}public static void main(String [] args){MethodOverridingParentClass obj = new MethodOverridingChildClass();//Он вызывает метод дочернего класса myMethod()obj.myMethod();}}

Вывод:

1

Я метод из дочернего класса

TAG: qa

От QA genius

Adblock
detector