Овај чланак ће елаборирати употребу и имплементацију замене метода у Јави.
Шта је „Пренаглашавање метода“ у Јави?
Ако подређена класа садржи сличан метод као што је наведено у својој родитељској класи, назива се „ превладавање метода ” на Јави. На тај начин ступају на снагу функционалности подређене класе, односно надјачаног метода.
Разматрања у вези са „Замена метода“ у Јави
- Метода мора да садржи идентично име као у својој родитељској класи.
- Метода треба да има идентичан параметар као у својој родитељској класи.
- Метода додељена као „ коначни ” се не може заменити.
Пример 1: Замена метода у Јави
У овом примеру, методологија надјачавања методе, тј. функција ” може се извршити путем наслеђивања:
класа Родитељ {
јавности празнина испратити ( ) {
Систем . оут . принтлн ( 'Ово је Линукхинт!' ) ;
} }
класа дете протеже Родитељ {
јавности празнина испратити ( ) {
Систем . оут . принтлн ( 'Ово је Јава!' ) ;
} }
јавности класа Пример {
јавности статична празнина главни ( Низ [ ] аргс ) {
Цхилд обј = Нова дете ( ) ;
обј. испратити ( ) ;
} }
У горњој демонстрацији, примените следеће кораке:
- Прво, креирајте родитељску (супер) класу под називом „ Родитељ ”.
- Унутар ове класе дефинишите функцију под називом „ испратити() ” и прикажите дату поруку у њеној (функцијској) дефиницији.
- Након тога, креирајте дете (под) класу под називом „ дете ” наследивши „ Родитељ ” класе преко „ протеже ” кључна реч.
- У овој класи, надјачајте функцију дефинисану у оквиру родитељске класе тако што ћете је дефинисати идентичним именом “ испратити() ” и прикажите наведену поруку.
- У главном, креирајте објекат подређене класе преко „ Нова ” кључна реч и „ дете() ” конструктор.
- На крају, позовите функцију “ испратити() ” упућивањем на креирани објекат. Ово ће позвати замењену функцију уместо подразумеване у родитељској класи.
Излаз
У горњем излазу може се анализирати да потоња функција, тј. заобиђена, ступа на снагу.
Пример 2: Коришћење „супер“ кључне речи у заобилажењу метода коришћењем Јаве
У овом конкретном примеру, „ супер ” кључна реч може да се повеже да би се позвале функционалности подразумеваног, тј. родитељског и замењеног метода:
класа Родитељ {јавности празнина испратити ( ) {
Систем . оут . принтлн ( 'Ово је Линукхинт!' ) ;
} }
класа дете протеже Родитељ {
јавности празнина испратити ( ) {
супер . испратити ( ) ;
Систем . оут . принтлн ( 'Ово је Јава!' ) ;
} }
јавности класа Пример {
јавности статична празнина главни ( Низ [ ] аргс ) {
Цхилд обј = Нова дете ( ) ;
обј. испратити ( ) ;
} }
У горњем блоку кода:
- Слично, креирајте родитељску класу под називом „ Родитељ ” и акумулирати функцију “ испратити() ” у њему, приказујући дату поруку.
- У следећем кораку креирајте дечију класу под називом „ дете ” наслеђујући родитељску класу.
- Унутар ове класе, на сличан начин, надјачајте идентичну функцију. Такође, удружите „ супер ” кључна реч са функцијом за позивање подразумеваних, тј. функционалности функције родитељске класе.
- На крају, креирајте објекат подређене класе и позовите замењену функцију.
- алгоритам: Извршење ће се обавити на такав начин да када се позове надјачана функција, а „ супер ” кључна реч ће се односити на функцију родитељске класе. Ово ће резултирати евидентирањем функционалности и родитељске и подређене класе истовремено на конзоли.
Излаз
Горњи излаз означава да се ефекат пренаглашене функције такође може поништити преко „ супер ” кључна реч.
Пример 3: Заобилажење „коначног“ метода у Јави
У овом примеру, функција се може доделити као „ коначни ” у родитељској класи и касније анализиран приступом у њеној подређеној класи:
класа Родитељ {коначни јавности празнина испратити ( ) {
Систем . оут . принтлн ( 'Ово је Линукхинт!' ) ;
} }
класа дете протеже Родитељ {
јавности празнина испратити ( ) {
Систем . оут . принтлн ( 'Ово је Јава!' ) ;
} }
јавности класа Пример {
јавности статична празнина главни ( Низ [ ] аргс ) {
Цхилд обј = Нова дете ( ) ;
обј. испратити ( ) ;
} }
У складу са горе наведеним кодом, примените доле наведене кораке:
- Креирајте родитељску класу “ Родитељ ”.
- Унутар ове класе доделите функцију „ испратити() ' као ' коначни “, као што је назначено претходном кључном речи.
- Сада наследите дечју класу “ дете ” из претходног разматраног часа. Овде замените додељени „ коначни ” функција у родитељској класи.
- Углавном, креирајте објекат од „ дете ” класе и позовите пренаглашену функцију.
Излаз
Извршавање горњег кода ће евидентирати приказану грешку од „ коначни ” метод се не може заменити.
Закључак
Ако подређена класа садржи сличан метод као што је наведено у својој надређеној класи, то одговара прегласавању методе у Јави. Овај приступ превазилази претходне методе и примењује друге. Надјачавање се може обавити преко „ супер ' или ' коначни ” кључне речи на различите начине. Овај блог је расправљао о концепту надјачавања метода у Јави.