Ano ang Generics sa Java? - Isang Gabay sa Mga Nagsisimula



Ang artikulong ito sa Generics sa Java ay magbibigay ng isang maikling pananaw sa kung ano ang java generics at ang iba`t ibang mga uri kasama ang mga halimbawa.

Isaalang-alang ang isang halimbawa kung saan kailangan mong gumawa ng isang listahan ng mga nabubuhay na bagay sa isang lokalidad. Hindi mahalaga kung ito ay isang tao, isang hayop o isang halaman. Lahat ng mahalaga ay isang nabubuhay na bagay. Sa kasong ito, ipapangkat mo silang lahat bilang 'Mga Bagay na Buhay' at hindi ikakategorya ang mga ito. Katulad nito, kapag kailangan mong mag-imbak ng ilang data, ang mahalaga sa iyo ay ang nilalaman at hindi ang datatype, at doon mo ginagamit ang Generics. Generics sa ay isang tampok na wika na nagbibigay-daan sa paggamit ng mga generic na uri at pamamaraan.

Nasa ibaba ang listahan ng mga paksa na sasakupin ko sa artikulong ito:





Ano ang Generics sa Java?

Generics ay isang term na nagsasaad ng isang hanay ng mga tampok sa wika na nauugnay sa kahulugan at paggamit ng mga Generic na uri at pamamaraan. Ang mga pamamaraang Java Generic ay naiiba mula sa regular na mga uri ng data at pamamaraan. Bago ang Generics, ginamit namin ang upang mag-imbak ng anumang uri ng mga bagay ibig sabihin hindi pangkaraniwan . Ngayon, pinipilit ng Generics ang programmer upang mag-imbak ng isang tukoy na uri ng mga bagay.

Ngayong alam mo na kung ano ang Generics sa Java, lumipat pa tayo at unawain kung bakit kailangan mo ng Java Generics.



Bakit Java Generics?

Kung titingnan mo ang mga klase, pagkatapos ay mapapansin mo na ang karamihan sa mga klase ay kumukuha ng parameter / argument ng uri ng Object. Talaga, sa form na ito, maaari silang kumuha ng anumang uri ng Java bilang argument at ibalik ang parehong bagay o argument. Mahalaga sila magkakaiba ibig sabihin hindi sa isang katulad na uri.

FrameworkHierarchy - Generics sa Java - Edureka

kung paano i-install ang php sa windows 10

Minsan sa application ng Java, ang uri ng data ng input ay hindi naayos. Ang input ay maaaring isang integer , sa lumutang o . Upang maitalaga ang input sa ng tamang datatype, kailangang isagawa ang mga naunang tseke. Sa tradisyunal na diskarte, pagkatapos ng pagkuha ng input, ang datatype ng input ay nasuri at pagkatapos ay itinalaga sa variable ng tamang datatype. Kapag ginamit ang lohika na ito, nadagdagan ang haba ng code at oras ng pagpapatupad. Upang maiwasan ito, Ipinakilala ang mga henerasyon . Kapag gumamit ka ng Generics, ang mga parameter sa code ay naka-check sa awtomatikong sumulat ng oras at itinatakda nito ang datatype bilang default. Kaya't dito mo kailangan ang konsepto ng mga heneral sa Java.



Ngayon na nakakuha ka ng ilang mga pananaw sa Generics, magpatuloy tayo at tingnan ang iba't ibang mga paraan kung paanoMaaaring mailapat ang mga generics sa source code.

Mga Uri ng Generika ng Java

Mayroong 4 na magkakaibang paraan na maaaring mailapat ang Generics sa Java at ang mga ito ay ang mga sumusunod:

  1. Generic Type Class
  2. Generic Interface
  3. Pangkalahatang Paraan
  4. Generic na Tagatayo

Ngayon ay unawain natin kung paano mailalapat ang mga generics upang mai-type ang klase nang malalim.

1. Generic Type Class

Ang isang klase ay sinabi na Generic kung magdeklara ito ng isa o higit pang mga variable ng uri. Ang mga variable na uri ay kilala bilang mga uri ng parameter ng . Unawain natin ito sa tulong ng isang halimbawa. Sa halimbawa sa ibaba, lilikha ako ng isang klase na may isang pag-aari x at uri ng pag-aari ay isang object.

class Genericclass {pribadong Object x public void set (Object x) {this.x = x} public Object get () {return x}}

Dito, sa sandaling mapasimulan mo ang klase sa isang tiyak na uri, ang klase ay dapat gamitin sa partikular na uri lamang. Hal. Kung nais mo ng isang halimbawa ng klase na hawakan ang halaga x ng uri ‘ String ‘, Pagkatapos ay dapat itakda ng programmer at makuha ang nag-iisa lamang uri Dahil idineklara ko ang uri ng pag-aari sa Object, walang paraan upang ipatupad ang paghihigpit na ito. Ang isang programmer ay maaaring magtakda ng anumang bagay at maaaring asahan ang anumang uri ng halaga ng pagbalik mula sa kumuha ng paraan dahil ang lahat ng mga uri ng Java ay mga subtypes ng klase

Upang ipatupad ang ganitong uri ng paghihigpit, maaari kaming gumamit ng mga generic tulad ng nasa ibaba:

klase ng Genericclass {// T ay nangangahulugang 'Uri' ng pribadong T x pampublikong walang bisa na itinakda (T x) {this.x = x} pampublikong T makakuha () {return x}}

Ngayon makatiyak ka na hindi gagamitin ng mali ang klase sa mga maling uri. Isang simpleng halimbawa ng' Genericclass 'Mukhang tulad ng ipinakita sa ibaba:

Halimbawa ng Genericclass = bagong Genericclass () instance.set ('Edureka') instance.set (10) // Dadagdagan nito ang error sa compile time

Kaya't kung paano ito gumagana. Itoang pagkakatulad ay totoo para sa interface din. Mabilis nating tingnan ang isang halimbawa upang maunawaan, kung paano maaaring magamit ang impormasyon sa uri ng generics sa mga interface sa java.

2. Generic Interface

Isang tumutukoy sa mga abstract na uri ng data. Pinapayagan nila na manipulahin nang nakapag-iisa mula sa mga detalye ng kanilang representasyon. Gayundin, bumubuo sila ng isang hierarchy sa mga wika Unawain natin kung paano mailalapat ang generic na uri sa mga interface sa Java.

// Generic interface kahulugan interface GenericInterface {T2 PerformExcement (T1 x) T1 ReverseExcement (T2 x)} // Isang klase na nagpapatupad ng generic interface class na Genericclass ay nagpapatupad ng GenericInterface {public Integer PerformExcement (String x) {// execution code} public String ReverseExcement ( Integer x) {// execution code}}

Inaasahan kong naiintindihan mo kung paano mailalapat ang Generics upang mai-type ang klase at mga interface. Ngayon ay pag-aralan natin nang malalim ang artikulong ito at unawain kung paano ito kapaki-pakinabang para sa mga pamamaraan at tagapagbuo.

3. Mga Pangkalahatang Pamamaraan

Ang mga generic na pamamaraan ay halos kapareho sa mga generic na klase. Magkakaiba sila sa bawat isa sa isang aspeto lamang na saklaw o impormasyon ng uri ay nasa loob ng pamamaraan lamang. Ipinakikilala ng mga pangkalahatang pamamaraan ang kanilang sariling mga parameter ng uri.

Unawain natin ito sa isang halimbawa. Nasa ibaba ang isang halimbawa ng isang pangkaraniwang pamamaraan na maaaring magamit upang mahanap ang lahat ng mga paglitaw ng mga uri ng parameter sa isang listahan ng mga variable.

public static int countAllOccurrences (T [] list, T element) {int count = 0 if (element == null) {for (T listElement: list) if (listElement == null) count ++} iba pa {para sa (T listElement: list ) kung (element.equals (listElement)) bilangin ++} bilang ng pagbalik}

Kung pumasa ka sa isang listahan ng String upang maghanap sa pamamaraang ito, gagana ito ng maayos. Ngunit kung susubukan mong makahanap ng isang Numero sa listahan ng String, magbibigay ito ng error sa pagtitipid ng oras.

Ang pagkakatulad na ito ay katulad din sa tagapagbuo. Kumuha tayo ng isang halimbawa para sa generic na tagapagbuo at maunawaan kung paano ito gumagana.

4. Pangkalahatang Tagatayo

Sa tagabuo ay isang bloke ng code na nagpapasimula sa bagong nilikha na bagay. A tagabuo kahawig ng isang paraan ng halimbawa sa J ava ngunit hindi ito isang pamamaraan dahil wala itong uri ng pagbabalik. Ang tagapagbuo may parehong pangalan sa klase at ganito ang hitsura sa J ava code Ngayon kumuha tayo ng isang halimbawa at maunawaan kung paano ito gumagana.

Dimensyon ng klase {pribadong T haba ng pribadong T lapad ng pribadong T taas // Generic na tagapagbuo ng publiko Dimensyon (haba ng T, lapad ng T, taas ng T) {super () this.length = haba ito.width = lapad nito. taas / taas}}

Sa halimbawa sa itaas, ang tagapagbuo ng klase ng Dimensyon ay mayroong impormasyon sa uri. Kaya maaari kang magkaroon ng isang halimbawa ng dimensyon sa lahat ng mga katangian ng isang solong uri lamang. Kaya't ito ay kung paano mo magagamit ang mga tagabuo ng uri ng mga generics. Inaasahan kong naintindihan mo ang mga uri ng generics sa Java.

Lumipat tayo ngayon at tingnan ang mga pakinabang ng Generics sa Java.

Mga kalamangan ng Generics sa Java

1. Reusability ng Code

Maaari kang bumuo ng isang diskarte o isang klase o isang isang beses at ginagamit para sa anumang uri o anumang paraan na kailangan mo.

2. Hindi kinakailangan ang Pag-cast ng Indibidwal na Mga Uri

Talaga, nakakuha ka ng impormasyon mula sa tuwing oras, kailangan mong i-type ito. Ang typecasting sa bawat gawain sa pagbawi ay isang pangunahing sobrang sakit ng ulo. Upang lipulin ang pamamaraang iyon, ipinakilala ang mga generics.

3. Pagpapatupad ng isang hindi pangkaraniwang algorithm

Maaari nitong kalkulahin ang mga algorithm na gumagana sa iba't ibang mga uri ng item na ligtas din ang uri.

Iyon lang ang tungkol sa mga pakinabang ng Java Generics. Sa pamamagitan nito, napunta kami sa dulo ng artikulong ito sa Generics sa Java. Inaasahan kong nahanap mo ito na nagbibigay-kaalaman at nakatulong sa iyo na maunawaan ang Java Generics.

Suriin ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Narito kami upang matulungan ka sa bawat hakbang sa iyong paglalakbay, para sa pagiging isang bukod sa mga katanungang ito sa panayam sa java, nakakakuha kami ng isang kurikulum na idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng 'Mga Generika sa Java ”Artikulo at babalik kami sa iyo sa lalong madaling panahon.