Имплементс вс Ектендс
Имплементације и проширења су две кључне речи пронађене у програмском језику Јава које омогућавају пренос додате функционалности у нову класу. Кључна реч Имплементс изричито се користи за имплементацију интерфејса, док се кључна реч Ектендс користи за наслеђивање од (супер) класе. Имајте на уму да су концепти наслеђивања и интерфејси присутни у већини других објектно програмираних језика попут Ц # и ВБ.НЕТ, али нуде различите синтаксе или кључне речи за примену тих концепата. Овај се чланак фокусира само на имплементације и проширења кључних ријечи дефинираних на Јави.
Продужује
Кључна реч Ектендс користи се за имплементацију концепта наслеђивања у програмском језику Јава. Наслеђивање у основи омогућава поновну употребу кода омогућавајући проширење својстава и понашања постојеће класе од стране нове дефинисане класе. Када нови подразред (или изведена класа) прошири супер класу (или надређену класу), подразред ће наследити све атрибуте и методе супер класе. Подкласа може опционално надјачати понашање (пружити нове или проширене функционалности методама) наслеђено од родитељске класе. Подкласа не може проширити више супер класа на Јави. Стога наставке не можете користити за вишеструко наслеђивање. Да бисте имали више насљеђивања, морате користити интерфејсе како је објашњено у наставку.
Имплементације
Кључна реч за имплементацију у Јава програмском језику користи се за имплементацију интерфејса од стране класе. Интерфејс у Јави је апстрактни тип који се користи за спецификацију уговора који би требало да примењују класе које имплементирају тај интерфејс. Обично интерфејс садржи само потписе метода и константне декларације. Свако сучеље које имплементира одређено сучеље треба имплементирати све методе дефиниране у интерфејсу или их треба прогласити апстрактном класом. У Јави се тип референце објекта може дефинирати као тип интерфејса. Али тај објект мора бити или нулл или треба садржавати објект класе који имплементира тај одређени интерфејс. Помоћу кључне речи Имплементс у Јави можете имплементирати више интерфејса у једну класу. Интерфејс не може имплементирати други интерфејс. Међутим, интерфејс може да продужи класу.
Разлика између имплементације и проширења
Иако су имплементације и проширења две кључне речи које пружају механизам за наслеђивање атрибута и понашања класе у Јава програмском језику, оне се користе у две различите сврхе. Кључна реч Имплементс користи се за класу за имплементацију одређеног интерфејса, док се кључна реч Ектендс користи за подкласу која се протеже из супер класе. Када класа имплементира интерфејс, та класа мора да имплементира све методе дефинисане у интерфејсу, али када поткласа прошири супер класу, она може или не мора да надјача методе укључене у родитељску класу. Коначно, друга кључна разлика између Имплементс и Ектендс је та што класа може имплементирати више интерфејса, али може се проширити само из једне супер класе на Јави. Уопштено, употреба Имплементација (интерфејса) се сматра повољнијом у поређењу са употребом Ектендова (наслеђивање), из неколико разлога као што су већа флексибилност и могућност минимизирања повезивања. Због тога се у пракси преферира програмирање на интерфејсу него ширење из основних разреда.