Skirtumas Tarp Padargų Ir Pratęsimų

Skirtumas Tarp Padargų Ir Pratęsimų
Skirtumas Tarp Padargų Ir Pratęsimų

Video: Skirtumas Tarp Padargų Ir Pratęsimų

Video: Skirtumas Tarp Padargų Ir Pratęsimų
Video: Budulis apie Starkų ir Radzevičių 2024, Gegužė
Anonim

Padargai ir pratęsimai

„Implements“ir „Extends“yra du raktiniai žodžiai, rasti „Java“programavimo kalboje, suteikiantys galimybę perduoti papildomas funkcijas į naują klasę. Raktinis žodis yra aiškiai naudojamas sąsajai įgyvendinti, o išplėstas raktinis žodis naudojamas paveldėti iš (super) klasės. Atkreipkite dėmesį, kad paveldėjimo ir sąsajų sąvokos yra daugumoje kitų į objektą orientuotų programavimo kalbų, tokių kaip C # ir VB. NET, tačiau joms siūloma skirtinga sintaksė arba raktiniai žodžiai šioms sąvokoms taikyti. Šiame straipsnyje daugiausia dėmesio skiriama „Java“apibrėžtų raktinių žodžių įgyvendinimui ir išplėtimui.

Pratęsia

„Extends“raktinis žodis naudojamas paveldėjimo sampratai įgyvendinti Java programavimo kalboje. Paveldėjimas iš esmės suteikia pakartotinį kodo naudojimą, leidžiant išplėsti esamos klasės savybes ir elgesį naujai apibrėžta klase. Kai nauja poklasis (arba išvestinė klasė) pratęs super klasę (arba pirminę klasę), tai poklasis paveldės visus super klasės atributus ir metodus. Paklasis gali pasirinktinai nepaisyti elgesio (suteikti metodams naujos ar išplėstinės funkcijos), paveldėto iš tėvų klasės. Paklasis negali išplėsti kelių „super“klasių „Java“. Todėl negalite naudoti pratęsimų daugkartiniam paveldėjimui. Norėdami paveldėti kelis kartus, turite naudoti sąsajas, kaip paaiškinta toliau.

Padargai

„Java“programavimo kalba raktinis žodis naudojamas sąsajai įgyvendinti klasėje. „Java“sąsaja yra abstraktus tipas, naudojamas nurodant sutartį, kurią turėtų įgyvendinti tos sąsajos įgyvendinančios klasės. Paprastai sąsajoje bus tik metodo parašai ir nuolatinės deklaracijos. Bet kuri sąsaja, įgyvendinanti tam tikrą sąsają, turėtų įgyvendinti visus sąsajoje apibrėžtus metodus arba būti deklaruojama kaip abstrakti klasė. „Java“objekto nuorodos tipą galima apibrėžti kaip sąsajos tipą. Bet tas objektas turi būti arba nulinis, arba turėtų turėti klasės objektą, kuris įgyvendina tą konkrečią sąsają. Naudodami „Java“raktinį žodį „Implements“, galite įdiegti kelias sąsajas į vieną klasę. Sąsaja negali įdiegti kitos sąsajos. Tačiau sąsaja gali išplėsti klasę.

Skirtumas tarp padargų ir pratęsimų

Nors „Implements“ir „Extends“yra du raktiniai žodžiai, kurie suteikia mechanizmą paveldėti klasės atributus ir elgesį „Java“programavimo kalba, jie naudojami dviem skirtingais tikslais. Raktinis žodis klasei naudojamas tam tikrai sąsajai įgyvendinti, o išplėstinis raktinis žodis naudojamas poklasiui išplėsti iš super klasės. Kai klasė įdiegia sąsają, ta klasė turi įgyvendinti visus sąsajoje apibrėžtus metodus, tačiau kai poklasis praplečia super klasę, jis gali nepaisyti metodų, įtrauktų į pirminę klasę. Galiausiai, dar vienas esminis skirtumas tarp „Implements“ir „Extends“yra tas, kad klasė gali įdiegti kelias sąsajas, tačiau gali išplėsti tik iš vienos „Java“klasės. Apskritai padargų (sąsajų) naudojimas laikomas palankesniu, palyginti su „Extends“(paveldėjimas),dėl kelių priežasčių, tokių kaip didesnis lankstumas ir galimybė sumažinti sukabinimą. Todėl praktikoje pirmenybė teikiama programavimui į sąsają, o ne iš bazinių klasių.

Rekomenduojama: