Шта је генерички у Јави? - Водич за почетнике



Овај чланак о генеричким производима у Јави даће кратак увид у то шта је јава генерички лек и његове различите врсте, заједно са примерима.

Размотрите пример где морате да направите листу живих бића у неком месту. Није битно да ли је то људско биће, животиња или биљка. Битно је само живо биће. У овом случају, све бисте их групирали као „Жива бића“ и не бисте их категоризовали. Слично томе, када морате да сачувате неке податке, оно што вам је важно је садржај, а не тип података и ту користите генеричке производе. Генерички лек у је језичка карактеристика која омогућава употребу генеричких типова и метода.

Испод је листа тема које ћу обрађивати у овом чланку:





Шта је генерички у Јави?

Генерички је појам који означава скуп језичких карактеристика повезаних са дефинисањем и употребом генеричких типова и метода. Јава генеричке методе разликују се од уобичајених типова података и метода. Пре генерике користили смо за чување било које врсте предмета тј. не-генерички . Сада, Генерицс форсира програмер за чување одређене врсте објеката.

Сад кад знате шта је генерички на Јави, идемо даље и схватимо зашто су вам потребни Јава генерички.



Зашто Јава Генерицс?

Ако погледате класе, тада ћете приметити да већина класа узима параметар / аргумент типа Објецт. У основи, у овом облику могу узети било који Јава тип као аргумент и вратити исти објекат или аргумент. Они у суштини јесу хетероген односно не сличног типа.

ФрамеворкХиерарцхи - Генерицс ин Јава - Едурека

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



Сад кад сте стекли увид у генерике, идемо напред и погледајмо разне начине какоГенерички лек се може применити на изворни код.

Типови Јава Генерицс

Постоје 4 различита начина на која се генерички лекови могу применити на Јави, а то су:

  1. Класа генеричког типа
  2. Генерички интерфејс
  3. Генеричка метода
  4. Генерички конструктор

Сада да схватимо како се генерички подаци могу дубље применити на класу типа.

како се користи тостринг у јави

1. Класа генеричког типа

За класу се каже да је генеричка ако декларише једну или више променљивих типа. Ови типови променљивих су познати као параметри типа . Да схватимо ово помоћу примера. У примеру испод, креираћу класу са једним својством Икс а врста својства је објекат.

цласс Генериццласс {привате Објецт к публиц воид сет (Објецт к) {тхис.к = к} публиц Објецт гет () {ретурн к}}

Овде, када иницијализујете класу са одређеним типом, класа треба да се користи само са тим одређеним типом. На пример. Ако желите да један примерак класе задржи вредност Икс типа „ Низ ‘, Онда програмер треба да постави и добије једини тип. Будући да сам Објецт прогласио тип својства, не постоји начин да се ово ограничење наметне. Програмер може поставити било који објекат и може очекивати било који тип повратне вредности добити метод пошто су сви Јава типови подтипови класа.

Да бисмо применили ову врсту ограничења, можемо користити генеричке лекове као што је приказано у наставку:

цласс Генериццласс {// Т означава 'Типе' привате Т к публиц воид сет (Т к) {тхис.к = к} публиц Т гет () {ретурн к}}

Сада можете бити сигурни да се час неће злоупотребљавати са погрешним типовима. Једноставан пример' Генериццласс ”Изгледа као што је приказано доле:

Пример генеричке класе = нова Генериццласс () инстанце.сет ('Едурека') инстанце.сет (10) // Ово ће довести до грешке у времену компајлирања

Дакле, то тако функционише. Овоаналогија је тачна и за интерфејс. Погледајмо брзо пример да бисмо разумели како се информације генеричког типа могу користити у интерфејсима у јави.

2. Генерички интерфејс

Ан односи се на апстрактне типове података. Дозвољавају да се њима манипулише независно од детаља њиховог представљања. Такође, они чине хијерархију у језици. Хајде да разумемо како се генерички тип може применити на интерфејсе у Јави.

// Интерфејс генеричког интерфејса ГенерицИнтерфаце {Т2 ПерформЕкецутион (Т1 к) Т1 РеверсеЕкецутион (Т2 к)} // Класа која примењује генеричку класу интерфејса Генериццласс имплементира ГенерицИнтерфаце {публиц Интегер ПерформЕкецутион (Стринг к) {// извршни код} публиц Стринг РеверсеЕкецутион ( Цео број к) {// извршни код}}

Надам се да сте успели да разумете како се генерички материјали могу применити на класу типова и интерфејсе. Сада ћемо се дубље позабавити овим чланком и схватити како је то корисно за методе и конструкторе.

3. Генеричке методе

Генеричке методе су много сличне генеричким класама. Они се међусобно разликују само у једном аспекту који информације о опсегу или типу налазе се само унутар методе. Генеричке методе уводе сопствене параметре типа.

Да разумемо ово на примеру. Испод је пример генеричке методе која се може користити за проналажење свих појава параметара типа на листи променљивих.

јавни статички инт цоунтАллОццурренцес (Т [] листа, Т елемент) {инт цоунт = 0 иф (елемент == нулл) {фор (Т листЕлемент: лист) иф (листЕлемент == нулл) цоунт ++} елсе {фор (Т листЕлемент: лист ) иф (елемент.екуалс (листЕлемент)) цоунт ++} ретурн цоунт}

Ако проследите списак Стринг за претрагу овом методом ће добро функционисати. Али ако покушате да пронађете број на листи Стринг, то ће дати грешку у времену компајлирања.

Ова аналогија је слична и конструктору. Узмимо пример за генерички конструктор и схватимо како то функционише.

4. Генерички конструктор

Градитељу је блок кода који покреће новостворени објекат. А. градитељ подсећа на метод инстанце у Ј ава али то није метода јер нема тип повратка. Конструктор има исто име као и разред и изгледа овако у Ј ава код. Сада узмимо пример и схватимо како то функционише.

цласс Дименсион {привате Т ленгтх привате Т видтх привате Т хеигхт // Генерички конструктор публиц Дименсион (Т ленгтх, Т видтх, Т хеигхт) {супер () тхис.ленгтх = ленгтх тхис.видтх = видтх тхис.хеигхт = хеигхт}}

У горњем примеру, конструктор класе Дименсион има информације о типу. Тако можете имати инстанцу димензије са свим атрибутима само једног типа. Дакле, на овај начин можете користити конструкторе генеричког типа. Надам се да сте разумели типове генеричких производа на Јави.

Идемо сада даље и погледајмо предности генеричких производа у Јави.

Предности генеричких лекова у Јави

1. Поновна употреба кода

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

2. Лијевање појединачних типова није потребно

У основи, опоравили сте информације од сваки пут треба да га откуцате. Типографско испитивање код сваког задатка опоравка велика је мигрена. Да би се тај приступ искоријенио, уведени су генерички лијекови.

3. Имплементација генеричког алгоритма

Може израчунати алгоритме који раде и на разним врстама предмета који су такође безбедни за тип.

То је било све о предностима Јава Генерицс-а. Овим смо дошли до краја овог чланка о Генеричким производима на Јави. Надам се да вам је био информативан и да сте вам помогли да разумете Јава Генерицс.

поређење алата за аутоматизацију роботизованих процеса

Погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250 000 задовољних ученика раширених широм света. Овде смо да вам помогнемо у сваком кораку на вашем путовању, јер поред тога што постављате питања о јава интервјуу, осмислили смо наставни план и програм који је дизајниран за студенте и професионалце који желе да буду Јава програмери. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас како за основне тако и за напредне Јава концепте, заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га помињете у одељку за коментаре овог „Генеричког производа на Јави ”Чланак и јавићемо вам се у најкраћем могућем року.