"Halo, Amigo! Dina iki aku arep ngandhani alasan kenapa antarmuka ana. Sampeyan kerep krungu yen kelas, obyek, utawa entitas tartamtu ndhukung antarmuka tartamtu. Apa tegese ndhukung antarmuka ? "

Antarmuka ana kanggo ndhukung prilaku tartamtu - 1

Ing pangertèn sing luwih jembar, antarmuka apa wae minangka mekanisme kanggo sesambungan karo barang liya. Contone, remot TV minangka antarmuka remot. A asu mangertos lan nglakokaké printah, kang tegese asu ndhukung swara (kontrol) antarmuka. Kanggo nyimpulake kabeh, kita bisa ngomong yen antarmuka minangka cara standar kanggo rong perkara kanggo sesambungan, ing ngendi loro pihak ngerti standar kasebut. Nalika wong ngandhani asu "njagong", dhawuhe minangka bagean saka «antarmuka kontrol swara asu», lan yen asu kasebut nuruti perintah kasebut, mula asu kasebut ndhukung antarmuka kasebut.

Dadi ing pemrograman. Metode yaiku tumindak sing ditindakake ing obyek, ing data kasebut. Lan yen kelas ngleksanakake cara tartamtu, banjur «ndhukung eksekusi» printah tartamtu. Apa sing kita entuk kanthi nggabungake metode menyang antarmuka?

1) Saben antarmuka , kaya kelas , duwe jeneng unik. Loro-lorone pihak bisa 100% yakin yen pihak liyane ndhukung antarmuka sing tepat sing padha ngerti lan ora sawetara antarmuka sing padha.

2) Saben antarmuka nemtokke Watesan tartamtu ing kelas sing arep ndhukung. Kelas (pangembang sawijining) mutusake apa sing bakal ditindakake nalika metode sing diwarisake saka antarmuka diarani, nanging asile kudu ana ing wates pangarepan sing cukup. Yen kita dhawuh asu kanggo "njagong" lan banjur muter watara ing panggonan kanggo 5 menit lan banjur lenggah, banjur ndhukung antarmuka. Nanging yen malah ngrebut sampeyan dening wentis, kita meh ora bisa ngomong iku ndhukung antarmuka. Nglakokake perintah kasebut ora ngasilake asil sing dikarepake.

Contone, sampeyan lan kanca-kanca nulis game komputer. Lan sampeyan wis diutus kanggo program prilaku siji karakter. Salah sawijining kolega sampeyan wis nulis kode kanggo nampilake kabeh karakter ing layar. A rowange kapindho, sing tanggung jawab kanggo nyimpen game kanggo disk, wis ditulis kode kanggo nyimpen kabeh obyek game menyang file. Saben wong nulis akeh kode lan nggawe antarmuka kanggo sesambungan karo kode kasebut. Contone, bisa uga katon kaya iki:

kode Jawa Katrangan
interface Saveable
{
 void saveToMap(Map<String, Object> map);
 void loadFromMap(Map<String, Object> map);
}
- Antarmuka kanggo nyimpen / ngemot obyek saka peta.
interface Drawable
{
 void draw(Screen screen);
}
- Antarmuka kanggo nggambar obyek ing obyek layar liwati.
class PacMan implements Saveable, Drawable
{
…
}
- Kelas sampeyan, sing ndhukung rong antarmuka.

Ing tembung liyane, kanggo ndhukung antarmuka (klompok antarmuka), kelas sampeyan kudu:

1) Warisan

2) Ngleksanakake cara sing diumumake ing

3) Metode kudu nindakake apa sing dikarepake.

Banjur kode program liyane, sing ora ngerti apa-apa babagan kelas lan obyek, bisa digunakake karo kelas sampeyan.

"Kok kodhe ora ngerti apa-apa bab kelasku?"

"Ayo sampeyan njupuk kode saka program sing ditulis wong setahun kepungkur. Utawa umpamane kanca-kanca tuku / lisensi mesin game saka wong liya. Sampeyan duwe kode sing bisa digunakake kanggo game kasebut. Ewonan obyek sing sesambungan karo siji liyane. bisa gampang sesambungan kanthi bener karo obyek sampeyan yen sampeyan nggawe interaksi kasebut liwat antarmuka sing wis ditindakake kelas kanthi bener."

"Adoh! Aku ora ngerti sing bisa."

"Kabeh proyek gedhe kaya iki. Wong-wong wis mandheg nulis saka awal."

Wong uga ora reinvent math lan alfabet saben wektu. Nanging, dheweke nyinaoni kabeh sing diciptakake sadurunge.