Како имплементирати вишеструко наслеђивање у Јави?



Овај чланак вам помаже да имплементирате вишеструко наслеђивање у Јави путем Интерфејса и пратите га програмским демонстрацијама.

Овај чланак ће вам помоћи да примените концепт који иначе није могуће применити на Јави. Мислим на вишеструко . У овом чланку ће бити речи о следећим упутама,

Па кренимо са овим чланком Вишеструког наслеђивања у Јави,





Вишеструко наслеђивање у Јави

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

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



Настављајући са овим чланком о вишеструком наслеђивању у Јави,

Пример програма

У следећем примеру имамо два интерфејса: мотоцикл и бицикл. Интерфејс мотоцикла састоји се од атрибута брзина. Метода је тоталДистанце (). Интерфејс циклуса састоји се од атрибута дистанце () и брзине методе ().

Оба ова интерфејса имплементира класа ТвоВхеелер.



интерфејс МоторБике {инт спеед = 50 публиц воид тоталДистанце ()} Интерфејс Циклус {инт дистанце = 150 публиц воид спеед ()} јавна класа ТвоВхеелер имплементира МоторБике, Цицле {инт тоталДистанце инт авгСпеед публиц воид тоталДистанце () {тоталДистанце = спеед * дистанце Систем .оут.принтлн ('Укупна пређена раздаљина:' + тоталДистанце)} јавна празнина брзина () {инт авгСпеед = тоталДистанце / спеед Систем.оут.принтлн ('Просечна брзина одржавана:' + авгСпеед)} јавна статичка воид маин (Стринг аргс []) {ТвоВхеелер т1 = нови ТвоВхеелер () т1.тоталДистанце () т1.спеед ()}}

Оутпут

Укупно пређено путовање: 7500

Одржана просечна брзина: 150

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

шта су пакети у јави

Настављајући са овим чланком о вишеструком наслеђивању у Јави,

Вишеструко наслеђивање без двосмислености

интерфејс ИнтерфацеОне {публиц воид дисп ()} интерфаце ИнтерфацеТво {публиц воид дисп ()} публиц цласс Главна примена ИнтерфацеОне, ИнтерфацеТво {@Оверриде публиц воид дисп () {Систем.оут.принтлн ('дисплаи () метход имплементатион')} публиц статиц воид маин (Стринг аргс []) {Маин м = нев Маин () м.дисп ()}}

Оутпут

имплементација методе дисплаи ()

Главна метода имплементира оба интерфејса, тј. ИнтерфацеОне и ИнтерфацеТво. Извршава се без икаквих двосмислености.

Погледајмо још један пример за боље разумевање вишеструког наслеђа:

интерфејс Синг

{

подразумевана воид сингРоцк () {

Систем.оут.принтлн („Певам рок“)

}

}

интерфејс Данце

{

подразумевана воид данцеСлов () {

Систем.оут.принтлн („Плешем споро!“)

}

}

јавни разред Људска помагала Певај, играј

{

јавна статичка воид главна (Стринг [] аргс)

{

Људски х = нови Људски ()

х.сингРоцк ()

х.данцеСлов ()

}

како створити датотеку дневника у јави

}

Оутпут

Певам рок

Плешем полако!

Дакле, вишеструко наслеђивање може се постићи методама разматраним у овом чланку.

Тако смо дошли до краја овог чланка о „Вишеструком наслеђивању у Јави“. Ако желите да сазнате више, погледајте Едурека, поуздана компанија за учење на мрежи. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА осмишљен је тако да вас оспособи за основне и напредне Јава концепте заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога и јавићемо вам се што је пре могуће.