JavaRush /Blog Jawa /Random-JV /Antarmuka ing Jawa
vinsler
tingkat

Antarmuka ing Jawa

Diterbitake ing grup
Aku crita sing ala yen aku ora duwe tujuan kanggo nerangake bab sing ora bisa dimangerteni kanggo wong sing duwe panjaluk tartamtu, mula aku ngerti babagan sing sederhana, lan siji-sijine aku bakal nulis babagan iki ing kene. Aku ora ngetutake conto piwulang JavaRush kanggo takon dhisik banjur menehi pitutur marang kowe carane nindakake. Aku minangka panyengkuyung pisanan ngandhani, banjur takon, kaya sing ngandhani, pisanan nuduhake, banjur nerangake.
Antarmuka ing Jawa - 1
BS: Tumindak == prilaku, njupuk minangka sinonim, tumindak mung luwih bener mangertos, iku tansah soko aktif, lan prilaku bisa uga ora nuduhake apa-apa.

antarmuka - antarmuka

Apa iki? Conto dhaptar antarmuka (karo generik):
public interface Store<T, ID> {
    void add(T t);
    void update(T t, ID i);
    void delete(ID i);
    T findOne(ID i);
    List<T> findAll();
}
Crud umum (saka CRUD: Gawe, Waca, Nganyari, Busak) antarmuka. Aja kuwatir, kabeh cukup prasaja. Antarmuka iki tegese nggarap akeh database adhedhasar prinsip ing ngisor iki: sampeyan kudu nambah rekaman, nganyari rekaman, mbusak lan nemokake kabeh cathetan. Sampeyan bakal bisa ndeleng iki kaping 100 lan sampeyan bakal nulis antarmuka sing meh padha kaping pirang-pirang. Iki ditunjuk umum amarga kudu ditindakake dening kelas. Apa tegese ditindakake dening kelas ? Kabeh gampang banget: kudu njlèntrèhaké kabeh cara antarmuka. Conto paling gampang implementasine ing kelas:
void add (T t) {
	bookstore.add(t);
}
Tinimbang T t, generik tartamtu bakal diganti. Ing ringkesan, iki minangka TYPE saka variabel, mulane asring diarani T = Type. Ing conto kita, ayo ngomong bisa kaya iki:
void add (Book book) {
	bookstore.add(book);
}
Mesthi wae, ing panggonan buku Buku sampeyan bisa ngganti variabel apa wae sing dibutuhake kanggo implementasine. Kanggo ngerti, sampeyan bisa mbayangno kanthi teori yen T = Obyek, lan amarga ing Jawa kabeh Obyek, sampeyan uga bisa nemtokake kelas / variabel sampeyan ing kana. Masalah mung bakal muncul mengko - pangecualian yen kelas nol, etc. Ing tembung dhewe, iki minangka struktur program tartamtu sing nemtokake hubungan antarane obyek kanthi dibagi dadi bagean prilaku tartamtu. Tujuan antarmuka yaiku kanggo nemtokake fungsi kanggo implementasine dening kelas. Yaiku, katrangan saka tandha cara. Nang antarmuka ana jeneng cara sing bali lan nilai input, lan iku. Ya, sampeyan isih bisa nemtokake sawetara variabel ing kana, nanging langsung dadi final statis umum, lan bisa diakses saka bagean saka program kasebut. Antarmuka njlèntrèhaké tumindak, lan mulane iki tumindak padha sing ana ing, i.e. fungsi utawa cara. Yagene iki perlu? Apa iki nyederhanakake utawa apa kaluwihan sing diwenehake? Nyederhanakake gambaran saka tumindak lan prilaku. Kita ngomong apa sing kudu dilakoni, nanging saben kelas ngetrapake carane nindakake dhewe. Ngirit wektu ing proyek gedhe. Antarmuka digawe ing kahanan sing kita ngerti yen kita kudu nindakake sawetara tugas, nanging cara nindakake bisa beda-beda. Antarmuka nggambarake jeneng tumindak - iki mung arah sawetara abstraksi. Sanajan ana uga antarmuka tanpa metode lan kolom, kayata panandha kayata Cloneable, Remote, lsp. Ayo njupuk conto mobil favorit saben wong. Antarmuka ing bakal njlèntrèhaké tumindak bisa saka mobil, ngowahi setir utawa arah gerakan, gain kacepetan, bensin isih, etc. Yaiku, tumindak sing padha sing bisa ditindakake dening mobil apa wae. Ing tembung liya, kita mudhun menyang alas degradasi menyang tingkat paling ngisor saka nggawe mobil pisanan lan kanthi otak kita dhewe ngerti carane digawe lan apa sing ana. Alamiah, kita njlèntrèhaké iki ing abstrak lan mung kanggo tumindak. Apa mobil pisanan duwe? Apa ana setir? Iku, kang tegese iku nguripake nang endi wae, arah setir / gerakan. Apa ana roda? Ya, iku tegese aku nyopir ing sawetara kacepetan, owah-owahan ing kacepetan. Sing kabeh antarmuka. Nanging ing umum, antarmuka digawe kanggo sawetara implementasine saka tumindak tartamtu. Sing. kita nulis program kanggo sing luwih spesifik tinimbang apa wae sing bisa sampeyan pikirake. Mulane, antarmuka dhewe bakal ngemot cara sing luwih jelas lan luwih spesifik. Mesthi bakal dadi abstrak sabisa. Antarmuka bisa diwarisake saka saben liyane minangka kelas.
interface MyInterface extends NotMyinterface;
Antarmuka dileksanakake ing kelas. Sampeyan bisa ngleksanakake akeh antarmuka sing disenengi. Beda karo pusaka, warisan mung siji.
class NewClass extends OldClass implements MyInterface, NotMyinterface;
Sing. kita teka munggah karo sawetara tumindak, menehi jeneng, data input, data bali, wrote kabeh iki ing antarmuka, banjur nggawe kelas lan ditambahaké antarmuka kanggo kelas iki, i.e. ngleksanakake antarmuka kita ing kelas iki. Salajengipun, kabeh cara / fungsi sing diterangake ing antarmuka kudu duwe implementasine. Bisa ditindakake langsung ing antarmuka kanthi nambahake tembung standar sadurunge metode lan nulis implementasine langsung ing metode kasebut, kaya kelas. Iki bisa ditindakake kanthi versi 8 Jawa. Bisa uga ditindakake ing kelas sing bakal ngetrapake antarmuka iki. Inggih, kita wis ditulis antarmuka, dipun ginakaken ing kelas, mbalek metu implementasine ing kelas, kita bisa mbukak lan nyoba. Sampeyan uga bisa maca ing antarmuka babagan:
  • Metode statis.
  • Metode pribadi. (kode ulang)
  • Variabel / konstanta.
  • Antarmuka nested.
Nanging luwih apik kanggo nindakake iki mengko, lan uga mbebayani kanggo ngisi sirah kanthi kakehan. Pitakonan menarik, apa Volvo? Kelas utawa Antarmuka?
line1: Volvo v = new VolvoV2();
line2: Volvo v = new VolvoV3();
Saliyane antarmuka, perlu terus babagan Kelas lan Kelas Abstrak. Mungkin mengko, nalika aku duwe sawetara jam liyane free. ))) PS: Wong lanang, aku njaluk kabeh kritik ing postingan utawa ing PM, aku ngerti banget yen kabeh wong duwe))) lan aku tansah kepengin ngrungokake, amarga iki minangka alasan kanggo dadi luwih apik lan luwih apik. maneh terus maju. Kanthi mekaten, matur nuwun kanthi sanget lan sukses ing program. )))
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION