"Halo, Amigo! Iki aku-maneh. Aku pengin menehi sudut pandang liyane babagan antarmuka. Sampeyan ndeleng, biasane kelas minangka model obyek tartamtu. Ing kontras, antarmuka luwih kaya kemampuan obyek utawa peran, tinimbang obyek kasebut dhewe."
Contone, barang kayata mobil, sepedha, sepedha motor, lan roda paling apik dituduhake minangka kelas lan obyek. Nanging kabisan, kaya «Aku bisa mindhah», «Aku bisa nindakake wong», lan «Aku bisa parkir», luwih apik dituduhake minangka antarmuka. Priksa conto iki:
kode Jawa | Katrangan |
---|---|
|
Cocog karo kemampuan kanggo mindhah. |
|
Cocog karo kemampuan kanggo mindhah. |
|
Cocog karo kemampuan kanggo nggawa kargo. |
|
Kelas "roda". Nduweni kemampuan kanggo mindhah. |
|
Kelas "mobil". Nduweni kemampuan kanggo mindhah, didorong dening wong, lan nggawa barang. |
|
Kelas "skateboard". Nduweni kemampuan kanggo mindhah lan dikontrol dening wong. |
Antarmuka banget nyederhanakake urip programer. Program asring duwe ewu obyek, atusan kelas, lan mung sawetara lusin antarmuka (peran). Ana sawetara peran, nanging bisa digabungake kanthi pirang-pirang cara (kelas).
Intine yaiku sampeyan ora kudu nulis kode sing nemtokake interaksi karo saben kelas liyane. Sampeyan mung kudu sesambungan karo peran (antarmuka).
Bayangake sampeyan minangka tukang robot. Sampeyan duwe puluhan robot bawahan lan saben wong bisa duwe sawetara katrampilan. Upaminipun sampeyan kudu urgent rampung mbangun tembok. Sampeyan mung njupuk kabeh robot sing duwe kemampuan kanggo "mbangun" lan ngandhani wong-wong mau kanggo mbangun tembok. Sampeyan ora peduli karo robot sing nindakake. Ayo dadi robot banyu bisa. Yen ngerti carane mbangun, ayo mbangun.Mangkene carane katon ing kode:
kode Jawa | Katrangan |
---|---|
|
Kemampuan kanggo "mbangun tembok". Ngerti printah «mbangun tembok» (duwe cara sing cocok). |
|
Robot sing duwe kemampuan / skill iki.
A mbanyoni ora bisa mbangun tembok (ora ngleksanakake antarmuka WallBuilder). |
|
Kepiye carane kita menehi perintah kanggo mbangun tembok? |
"Sing apik tenan menarik. Aku tau ngimpi sing antarmuka bisa dadi topik menarik."
"Lan sawetara! Bebarengan karo polymorphism, iku babar blas pikiran-ndamu."
GO TO FULL VERSION