Преглед садржаја
Наследни систем у Јава је прилично моћан, заправо је референца за друге објектно оријентисане језике, једна од најчешћих недоумица које нам пролазе кроз главу једном када смо већ у дубини развоја у Јава, је ако можемо користити методе надређених класа кроз инстанце или у истим методама насљедних класа.Одговор је да, у ствари то је једна од ствари које смо имали на уму и која има посебан начин извођења и то ћемо видети даље.
Супер резервисана речКао што можемо користити резервисану реч Есте Да бисмо се позвали на елементе истог опсега објекта, имамо и нешто што нам може помоћи да приступимо атрибутима и методама надређених класа или надкласа, а то је резервисана реч Супер, помоћу њега можемо позвати било из инстанце или метода поткласе нешто што долази из класе из које наслеђује.
Једна од најчешћих употреба речи Супер, је моћ позовите конструктор суперкласе, са овим можемо смањити количину кода коју морамо написати на нашим подређеним часовима, да видимо следећи код на слици:
Овде видимо конструктор кружне класе, видимо да прима неке аргументе, ако не користимо реч Супер унутар њега, требало би да доделимо одговарајуће доделе његових атрибута, међутим то није потребно јер је то учинила надређена класа или надкласа, па ћемо при позивању речју супер и прослеђивању неопходних аргумената позвати њен конструктор.
Превентивне мереТо је тако лако, иако морамо имати неке мере опреза и знање о томе како то функционише, прва ствар је да када зовемо супер унутар нашег конструктора, морамо га прво позвати, односно не би требало бити никаквог другог упутства, затим у зависности од тога да ли преносимо аргументе или не, позваће се конструктор, из тог разлога морамо узети у обзир и преоптерећење конструктора.
Тхе конструктор родитељске класе то је једино што не наслеђујемо при креирању подкласе, зато је једини начин приступа овим конструкторима преко ове резервисане речи.
Не само да можемо позвати конструкторе, већ можемо позвати и методе директно из надкласе, наравно можемо помислити да ли је то заиста потребно јер наслеђујемо ове методе, али када морамо да препишемо методу, ово је место где је ово релевантније. Погледајмо следећи пример:
Иако можемо да позовемо методу без додавања речи супер, да у нашој класи имамо метод са истим именом, не бисмо могли да приступимо суперкласи, због чега је важна и неопходна, као што смо видели у примеру .
Већ имамо алат помоћу којег можемо добити различите елементе класа које наслеђујемо, дајући тако могућност стварања бољих функционалности.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен