Полиморфизам на Јави - Рад, врсте и значај са примерима

Преглед садржаја:

Anonim

Увод у полиморфизам на Јави

Полиморфизам је дефинисан као концепт у којем се уз помоћ једне акције може извести на више начина. Реч је настала из две грчке речи, које су поли и морфи. Овде, као што можда знате, „поли“ подразумева многе, а „морфи“ подразумева много облика. Стога би ријеч полиморфизам подразумијевала многе облике. Да сада разумемо полиморфизам у Јави у детаље.

Како полиморфизам делује на Јави?

Полиморфизам је ООО програмска карактеристика. Кад год га користимо, класа има могућност испољавања многих функционалности чак и ако имају заједнички интерфејс. Стога можемо претпоставити да дугачка реч заправо говори о врло једноставном концепту.

Оно што вреди напоменути о полиморфизму је да цео радни код који постоји у бројним класама не треба заиста да разуме класу која га користи истим начином коришћења.

Претпоставимо пример полиморфизма у стварном свету. Претпоставимо да дугме. Сви знате да ако извршимо мало притиска, моћи ћете да притиснете тастер, али нећемо знати колики је притисак на дугме и сврха употребе. Дакле, укажите на то да овде треба водити рачуна, да на било који начин резултат неће утицати на поступак који се користи.

Дакле, основни циљ полиморфизма је направити предмете који су заменљиви у зависности од потреба.

Врсте полиморфизма на Јави

Две врсте полиморфизма су полиморфизам у компилацији и време полиморфизма. Полиморфизам у компилацијском времену се изводи методом преоптерећења, а време полиморфизма током преклапања.

Полиморфизам током рунтиме-а, назван и као отпрема динамичке методе, је процес у коме се позив за замењеном методом решава током извођења, упркос времену компилације. Овде се преписана метода позива преко референтне променљиве родитељске класе. Такође, полиморфизам рунтиме-а не може постићи чланом података.

Важност полиморфизма у Јави

Ако одбацимо динамички полиморфизам, као и статички полиморфизам, у програмирању постоје неке од програмских карактеристика Јаве које испољавају полиморфизам који није ова два важна типа.

Они су ови - присила, преоптерећење оператора и полиморфни параметри.

Присила

Покушајмо да добијемо смисао присиле кроз овај пример. Претпоставимо да постоји вредност низа која је цо вредност: Претпоставимо други број који је добио вредност 2. Шта ће се догодити када сажети ову вредност низа заједно са овим бројем? Исход који извучемо из ове повезаности био би „ко-вредност: 2“. То је познато као присила. Ово је конверзија имплицитног типа која се изводи у циљу спречавања грешака.

Оператор преоптерећење

Почнимо с концептом преоптерећења оператера, дозволите ми да погледам један сценарио. Претпоставимо да постоји низ који је добио вредност „Оперирај“ и други и да је добио вредност „Оверлоад“. Тада бисмо користили плус симбол (+) на исти начин додавање 2 броја. Ово (+) би било повезано. Ако узмемо у обзир два цела броја, додавање ова два броја би се вратило. Кад год један симбол или оператор има могућност да промени интерпретацију с обзиром на поступак који се користи, полиморфизам који се обавља је познат под називом Оператор Оверлоадинг.

Полиморфни параметри

То значи омогућавање приступа било ком објекту на било који од следећих начина који су наведени као -

  1. Употреба референтне варијабле која припада било којој родитељској класи.
  2. Употреба референтне променљиве која припада класи тамо где постоји.

Полиморфизам

Везивање значи повезивање позива методе са телом методе. Постоје две врсте везивања:

  • Прво је статичко везивање, што значи када год је одређена врста објекта током компајлирања.
  • Друго је динамичко везивање што значи кад год је одређени тип објекта током извођења.

Једини разлог зашто је потребан полиморфизам лежи у томе што је његов концепт изузетно потребан у спровођењу наследства. Поред тога, она игра веома виталну улогу омогућавајући објектима да наследе бројне структуре у дељењу интерфејса. Полиморфизам је јасно споменут као само један који је мапиран за многе.

Примери полиморфизма у Јави

Испод су различити примери полиморфизма на Јави:

Пример бр. 1 - Јава програм за приказ начина преоптерећења

Шифра:

class methodOverload (
static int multi(int x, int y)
(
return x * y;
)
// Method with the same name but with 2 double arguments
static double multi(double x, double y)
(
return x * y;
)
)
class Main (
public static void main(String() args)
(
System.out.println(methodOverload.multi(6, 2));
System.out.println(methodOverload.multi(1.2, 1.2));
)
)

Излаз:

Пример бр. 2 - Јава програм за приказ преоптерећења оператора

Шифра:

class operator (
void oper(String s, String s2)
(
String s = s + s2;
System.out.println("Concatenated String is"
+ s);
)
void oper(int a, int b)
(
int c = a + b;
System.out.println("Sum is : " + c);
)
)
class Main (
public static void main(String() args)
(
operator o = new operator();
o.oper(1, 2);
o.oper("hi", "bye");
)
)

Излаз:

Пример # 3 - Јава програм за преоптерећење метода

Шифра:

class Multi (
// Method with 2 parameter
static int Multi(int a, int b)
(
return a * b;
)
static int Multi(int a, int b, int c)
(
return a * b * c;
)
)
class Main (
public static void main(String() args)
(
System.out.println(Multi.Multi(2, 3));
System.out.println(Multi.Multi(2, 3, 3));
)
)

Излаз:

Закључак

Једини разлог зашто је потребан полиморфизам лежи у томе што је његов концепт изузетно потребан у спровођењу наследства. Поред тога, она игра веома виталну улогу омогућавајући објектима да наследе бројне структуре у дељењу интерфејса. Полиморфизам је јасно споменут као само један који је мапиран за многе.

Препоручени чланци

Ово је водич за полиморфизам на Јави. Овде смо расправљали о раду полиморфизма у Јави са његовим типовима и важности заједно са различитим примерима и имплементацијом кода. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Полиморфизам у Ц #
  2. ЈТектФиелд на Јави
  3. Преоптерећење и прегласавање у Ц ++
  4. Шта је наслеђивање Јава?
  5. Преоптерећење у Јави
  6. Питхон Оверлоадинг
  7. Комплетан водич за наследство Питхона
  8. Врсте и грешке у руковању у ЈаваСцрипт-у
  9. Предности статичког и динамичког везивања