Разлика између насљеђивања и интерфејса у Јави

Кључна разлика - наслеђивање вс интерфејс на Јави
 

Јава је програмски језик који је развио Сун Мицросистемс. Јава се може користити за развој различитих апликација. То је језик више парадигми који подржава објектно оријентисане, структуриране итд. Главна предност Јаве је што подржава објектно-оријентисано програмирање (ООП). Програмер може да креира класе и објекте. У ООП-у постоје четири стуба. То су наследство, полиморфизам, апстракција и инкапсулација. Наслеђивање и интерфејси су у вези са ООП-ом. Тхе кључна разлика између насљеђивања и сучеља је то насљеђивање је да се из постојећих класа добију нове класе, а интерфејс је да примјени апстрактне класе и вишеструко насљеђивање.

САДРЖАЈ

1. Преглед и кључне разлике
2. Шта је наследство у Јави
3. Шта је интерфејс у ​​Јави
4. Сличности између насљеђивања и интерфејса у Јави
5. Упоредно упоређивање - Наслеђивање и сучеље Јава у табеларном облику
6. Резиме

Шта је наслеђивање у Јави?

Насљеђивањем се може постићи искористивост кода. Насљеђивање помаже да се поново искористе атрибути и методе постојеће класе. Механизам добијања нове класе коришћењем старе класе назива се насљеђивањем. Стара класа је позната као родитељска класа или супер класа. Деривирана класа назива се подређена класа или подразред.

Синтакса Јава насљеђивања је сљедећа.

класа субцласс_наме проширује име суперкласе

променљива декларација;

декларација метода;

Концепт наслеђивања може се објаснити следећим примером. Претпоставимо да постоји класа која се зове А, као што следи.

јавна класа А

јавна неважећа сума ()

Систем.оут.принтлн („Збир“);

Ако желимо да додамо нову методу без промене постојеће класе, можемо то учинити на следећи начин.

јавна класа Б

публиц воид суб ()

Систем.оут.принтлн ("Под");

Програмер може наследство да користи суму класе А ().

јавна класа Б проширује класу А

публиц воид суб ()

Систем.оут.принтлн ("Под");

У главној функцији могуће је креирати објект Б и цалл суб (), који припада класи Б и сум (), који припада класи А помоћу насљеђивања.

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

Б обј = нови Б ();

обј.суб ();

обј.сум ();

Постоје различите врсте наследства. То су једно наслеђивање, вишеструко наслеђивање, наследство на више нивоа и хијерархијско наслеђивање. Ин једно наслеђивање, постоји једна основна класа и једна изведена класа. Ин наслеђивање на више нивоа, постоје три класе, наиме основна класа, средња класа и изведена класа. Средња класа наслеђује од основне класе, а изведена класа наслеђује од средње класе. Ин хијерархијско насљеђивање, постоји једна основна класа и многе изведене класе. Постоји посебна врста позната као Хибридно наслеђивање. То је комбинација две или више врста наслеђивања.

Слика 01: Наслеђивање

Ин Вишеструко наслеђивање постоје многе основне класе и једна изведена класа. Претпоставимо да су класе А и Б основне класе. Класа Ц је изведена класа. Ако и класе А и Б имају исту методу, а програмер ту методу назове из изведене класе, то ће створити проблем нејасноће. Наслеђивање две класе може проузроковати грешку у времену превођења. Стога вишеструко насљеђивање није подржано на Јави. За превазилажење тог проблема може се користити интерфејс.

Шта је интерфејс у ​​Јави?

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

апстрактна класа А

апстрактна празнина ();

Претпоставимо да постоје две апстрактне класе као А и Б. Да би се имплементирали апстрактни методи А и Б, створена је нова класа Ц. Тада би класа Ц требала проширити и А и Б. Али, вишеструко насљеђивање није подржано у Јави. Стога треба користити интерфејсе. Интерфејси се могу користити за декларирање метода, али није могуће дефинисати методе. Није могуће креирати објект помоћу интерфејса. Класа Ц треба да примењује све методе у интерфејсима А и Б.

интерфејс А

воид сум ();

интерфејс Б

воид суб ();

опрема Ц класе А, Б

јавна неважећа сума ()

Систем.оут.принтлн („Збир“);

публиц воид суб ()

Систем.оут.принтлн ("Одузимање");

Сада је у главном програму могуће креирати објект Ц и позвати обе методе.

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

Ц обј = нови Ц ();

обј.сум ();

обј.суб ();

Дакле, интерфејси се могу користити за имплементацију вишеструког насљеђивања.

Друга употреба интерфејса је да пружа сигурност. Погледајте доњи код.

интерфејс А

воид сум ();

класа Б реализује А

јавна неважећа сума ()

Систем.оут.принтлн („Збир“);

јавно неважеће множење ()

Систем.оут.принтлн ("Множење");

Приликом креирања објекта Б могуће је обе методе звати сум () и множити (). Ако програмер жели да ограничи употребу функције мултипли (), могуће је на следећи начин.

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

А обј = нови Б ();

обј.сум ();

А обј = нови Б (); створиће објекат. То је типа А и меморија је додељена као Б. Могуће је звати сум (), али не може извршити множење (). Ово ограничење се врши помоћу интерфејса.

Које су сличности између наслеђивања и интерфејса у Јави?

  • Оба концепта су повезана са објектно оријентисаним програмирањем
  • Обоје представљају ИС-А везу.

Која је разлика између насљеђивања и сучеља у Јави?

Наслеђивање и интерфејс на Јави

Насљеђивање је ООП концепт за добивање нових класа из постојећих класа. Интерфејс је механизам у ООП-у за спровођење апстракције и вишеструког наследства.
Употреба
Наслеђивање омогућава поновну употребу кода. Интерфејси омогућавају апстракцију и вишеструко наслеђивање.

Резиме - Наслеђивање вс интерфејс на Јави

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

Преузмите ПДФ верзију Насљеђивање вс интерфејс на Јави

Можете преузети ПДФ верзију овог чланка и користити је за оффлине употребу према напомени. Молимо преузмите ПДФ верзију овде. Разлика између наслеђивања и сучеља на Јави

Референце:

1.Поинт, Туториалс. „Наслеђивање Јава“., Туториалс Поинт, 31. октобар 2017. Доступно овде 
2.Поинт, Туториалс. „Јава интерфејси.“ , Туториалс Поинт, 31. октобар 2017. Доступно овде 

Љубазношћу слике:

1.'ЦПТ-ООП-наследство-бицикли 'Плуке - сопствени рад, (Публиц Домаин) преко Цоммонс Викимедиа