KomputerProgramming

Jawa Generics: gambaran lan cara

Miwiti karo munculé ing basa Jawa wis ngalami akèh owah-owahan, kang temtu nggawa moments positif ing fungsi. Salah siji saka owah-owahan wujud introduksi saka Jawa Generic utawi. fungsi iki ora mung bisa agawé basa iki luwih fleksibel lan Versatile, nanging uga akeh luwih aman ing syarat-syarat nggawa jinis data.

Kasunyatan iku sadurunge introduksi saka generics ing kode umum Jawa bisa digawé, ora mung ing syarat-syarat jinis referensi Obyek. pranala kasebut bisa diutus obyek wae. Sawise kabeh, kelas ing Jawa pewarise kelas Obyek iso dilacak. Nanging, iki pendekatan punika sumber potensial saka akeh kasalahan related kanggo jinis keamanan ing konversi nyoto saka obyek ing lingkungan kanggo jinis target. Nalika nggunakake generalizations kabeh dipilih sing dileksanakake implicitly lan kanthi otomatis, mbusak malah potensial kanggo kasalahan.

Jawa Generics: gambaran lan umpamane

Ayo kita nimbang conto prasaja saka aplikasi umum kanggo kelas biasa ing tokoh ngisor iki. Lan banjur nerusake kanggo ujian rinci kabeh subtleties lan nuansa Jawa Generic.

Pay manungsa waé kanggo cara kang Pranyatan kelas ana pasangan. Sanalika sawise jeneng kelas, kelompok amba mbukak, kang dituduhake huruf T. Iku jenis ngisi, kang ing proses nggawe Kayata saka kelas iki bakal diganti dening jinis tartamtu. Iku katon minangka nderek: Pasangan obj = Pasangan anyar (). Sampeyan kudu nyatet sing tinimbang T bisa nemtokake layang, nanging, minangka aturan, nggunakake T, V utawa E.

Wigati: miwiti karo versi kawolu saka Jawa, khusus jinis target nalika ngumumake kelompok amba referensi ing konstruktor bisa kiwa kosong. Dadi conto bisa ditulis maneh ing ndhuwur: Pasangan obj = Pasangan anyar <> ().

Nalika kelas wis ngumumaké ing kuwi cara, banjur ing awak tinimbang jinis tartamtu lapangan, pranala, obyek bali dening cara sampeyan bisa nggunakake huruf sing. Wiwit T nalika nggawe objek kelas diganti dening jinis tartamtu, pisanan lan kapindho kothak ing kasus iki bakal saka jinis ongko.

Dipuntedahaken logika bantahan lan firstItem secondItem, diarani konstruktor cocok uga kudu jinis ongko utawa subkelas. Yen nyoba kanggo ngirimaken jinis data sing beda saka apa iki kasebut nalika nggawe objek, compiler ora supaya kesalahan iki. Mangkono, bantahan konstruktor nalika obyek wis wangun ing ngisor iki: Pasangan obj = Pasangan anyar <> (ongko anyar (1), ongko anyar (2)). Padha ditrapake kanggo bantahan lan cara setFirst setSecond. Lan sing mbokmenawa wae, cara getFirst getSecond lan bakal bali Nilai saka jinis ongko.

Umum karo jinis kelas sawetara paramèter

Ing kelas umum uga bisa wara-wara kaping paramèter saka jinis sing nyetel ing kelompok amba karo koma. Redesigned dening cilik kelas Pasangan presented ngisor iki.

Nalika sampeyan bisa ndeleng, nalika Panjenengan gawé Kayata saka kelas iki ing kelompok amba kudu nuduhaké jumlah jinis tekan mateng. Yen menowo karo jinis struktur data minangka Map, sampeyan bisa ndeleng sing migunakake persis ing asas padha. Ana, ing pitakonan pisanan nemtokaken jinis tombol, lan liya - jinis Nilai. Sampeyan kudu nyatet yen jinis ditularaké nalika bantahan obyek bisa tumpang tindih. Contone, iklan ngisor kelas Kayata Pasangan pancen bener: Pasangan obj.

Sawetara fitur saka generalizations

Sadurunge arep luwih, iku kudu nyatet yen compiler Jawa ora nggawe versi beda saka Pasangan kelas. Ing kasunyatan, ing proses kompilasi jinis umum kabeh informasi wis dibusak. Nanging, sampeyan nggawa jinis cocok, nggawe versi khusus saka kelas Pasangan. Nanging, ing program ana isih mung versi umum saka kelas. Proses iki disebut ing Jawa jinis cleaning Generic.

Wigati titik penting. Pranala menyang versi beda saka kelas umum java padha ora bisa nggawa marang kang siji lan obyek padha. Sing, Upaminipun kita duwe loro pranala: Pasangan obj1 lan Pasangan obj2. Akibate, ing baris obj1 = obj2 kesalahan. Senajan loro variabel sing saka jinis Pasangan , obyek kanggo kang padha deleng, sing beda. Iki contone Perdana saka jinis keamanan ing Jawa Generic.

Watesan ing kelas umum

Iku penting kanggo ngerti sing generalizations bisa Applied mung kanggo ngrujuk jinis, sing kanggo pass paramèter umum kelas java pitakonan kudu jinis kelas. Iki jinis prasaja, kayata, contone, pindho utawa dawa, ora bisa ditransfer. Ing tembung liyane, ing baris ing ngisor Pasangan kelas Pranyatan ora diidini: Pasangan obj. Nanging, watesan iki ora masalah serius, kaya ana kelas pambungkus Jawa cocog kanggo saben jinis primitif. Strictly ngandika, yen Pasangan kelas sampeyan pengin encapsulate lan ongko lan Sinar-X Nilai avtoupakovka ora kabeh sing: Pasangan obj = Pasangan anyar <> (25, bener).

watesan serius liyane iku kasekengan nggawe Kayata saka jinis parameter. Contone, ing baris ing ngisor bakal nimbulaké kesalahan kompilasi: T pisanan = anyar T (). Iki ketok, amarga kowé ora ngerti ing advance apa pitakonan liwati kelas lengkap utawa abstrak, utawa malah antarmuka. Padha dadi kanggo nggawe susunan.

jinis winates

Cukup kerep ana kahanan nalika iku perlu kanggo matesi dhaptar jinis sing bisa liwati minangka pitakonan kanggo Jawa kelas umum. Ayo kita nganggep in Pasangan kelas kita pengin encapsulate mung angka angka kanggo operasi matématika luwih ing wong. Kanggo nindakake iki kita perlu kanggo netepake watesan saka jinis parameter. Punika maujud kanthi cara saka iklan superclass warisaken kabeh bantahan liwati ing kelompok amba. Iku bakal katon minangka nderek: kelas Pasangan . Ing proses iki, compiler ketemu tinimbang parameter T bisa diganti utawa kelas Jumlah siji saka subclasses sawijining.

Iki reception umum. Watesan asring digunakake kanggo nyedhiyani paramèter jinis kompatibilitas ing siji lan kelas padha. Coba umpamane ing kelas Pasangan kita: kelas Pasangan . Kene kita marang compiler sing jinis T bisa kasepakatan, lan jinis V kudu salah siji T jinis utawa salah siji saka subclasses sawijining.

Matesi "ngisor" iku persis cara, nanging tembung ngluwihi kanggo Nulis tembung super. Sing kelas diklasifikasikaké Pasangan says tinimbang T utawa bisa diganti lan ArrayList, utawa kelas utawa antarmuka sing olèh warisan.

cara Jawa umum lan konstruktorkang

Ing Jawa, generalizations bisa Applied ora mung kanggo kelas, nanging uga cara. Contone, cara umum bisa ngumumaké ing kelas biasa.

Katon ing tokoh ndhuwur, cara kanggo umum iku ora menehi hasil amba. Cukup sadurunge jinis bali saka cara kanggo sijine kelompok amba lan nemtokake paramèter jinis ing wong.

Yen kabeh wis rampung Kajaba kanggo konstruktor ing:

kelompok amba ing kasus iki sijine sadurunge jeneng Desainer, amarga ora Nilai bali. Asil loro program bakal:

ongko

String

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 jw.delachieve.com. Theme powered by WordPress.