JavaRush /Blog Jawa /Random-JV /Napa antarmuka dibutuhake?
Павел
tingkat

Napa antarmuka dibutuhake?

Diterbitake ing grup
Napa antarmuka dibutuhake? Napa warisan antarmuka perlu? Kenapa polimorfisme dibutuhake? Kanggo sing maca lan ngerti carane nggawe antarmuka, nanging ora ngerti apa.

Penafian: Ing artikel iki lan sabanjure, jeneng kelas lan metode bakal diwenehi ing basa Rusia.

Nalika nerangake prinsip pemrograman berorientasi obyek (OOP): polimorfisme, warisan, lan enkapsulasi, migunani kanggo nggunakake analogi nyata. Kauntungan gedhe saka OOP yaiku kita bisa simulasi bagean saka alam semesta nyata ing program. Ayo dadi model kulawarga Ivanov: Bapak , Ibu lan bocah lanang Petya . Saka Bapak, Petya nurunake pakulinan nyedhot nalika ngombe teh, lan saka Ibu, dheweke nurunake pakulinan ngempet lambe nalika maca. Yen kita nyoba ngetrapake kahanan iki dadi program, kita bakal entuk telung kelas:
class Папа
class Мама
class Петя
Bapak lan Ibu duwe pakulinan sing kudu diwarisake marang Pete . Kebiasaan minangka tumindak sawetara - mula paling apik kanggo ngetrapake ing jagad piranti lunak minangka metode: Dad First :
class Папа {
public void прихлюпывать() {
System.out.println("Хлюп");
    }
}
Saiki Ibu :
class Мама {
public void поджимать() {
System.out.println("Поджать губки");
   }
}
Yen kita ngomong babagan warisan, mula logis kanggo nulis kode kaya iki:
class Петя extends Папа, Мама {
@Override
public void прихлюпывать() {
     System.out.println("Хлюп");
   }

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
Tegese, kanggo warisan Petya saka Bapak lan Ibu bebarengan. Yen sampeyan nulis kaya iki, kompiler bakal sambat amarga Jawa ora bisa ngetrapake warisan kelas pirang-pirang. Miturut cara, iku bisa ing C ++, nanging ora ing Jawa, amarga masalah gedhe bisa njedhul karo sawetara warisan: padha nulis ing rinci ing Internet . Napa antarmuka dibutuhake?  - 1Kanggo ngubengi iki "ora mungkin", Jawa nduweni antarmuka. Lan kanggo kabiasaan kita bakal nggawe antarmuka dhewe. Malah loro: Bakal katon kaya iki:
public interface ПривычкиПапы {
    public void прихлюпывать();
}
public interface ПривычкиМамы {
    public void поджимать();
}
Ing antarmuka, kita mung njlèntrèhaké kabiasaan, nanging ora njlèntrèhaké apa khusus, amarga kita bakal nulis implementasine tartamtu ing kelas. Kaping pisanan, ayo padha menehi pakulinan hukum marang Bapak lan Ibu .
class Папа implements ПривычкиПапы {

   @Override
    public void прихлюпывать() {
     System.out.println("Хлюп");
   }
}

class Мама implements ПривычкиМамы{

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
Lan saiki, pancen sah kanggo nransfer kebiasaan saka Bapak lan Ibu menyang Pete bebarengan
class Петя implements ПривычкиПапы, ПривычкиМамы {

@Override
public void прихлюпывать() {
     System.out.println("Хлюп");
   }

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
Tegese, sawetara implementasi (luwih asring disebut implementasi) ing Jawa cukup bisa. Napa antarmuka dibutuhake?  - 2Makna antarmuka saiki kudu jelas - ing Jawa, sampeyan bisa ngetrapake pirang-pirang warisan nggunakake antarmuka. Yen kita ngembangake kahanan luwih lanjut, contone: sawise kabeh, Bapak lan Ibu mesthi duwe pakulinan sing ora diwarisake marang Petya , lan Petya uga duwe pakulinan pribadi. Sampeyan bakal sinau babagan cara nransfer Santa Barbara sing penting iki menyang pesawat Jawa ing episode ing ngisor iki. Iki ora mung siji-sijine conto kanggo mangerteni antarmuka. Yen sampeyan durung maca artikel ing ngisor iki, mesthine maca: Antarmuka ing Jawa (yen ora mbukak, sampeyan bisa metu saka profil utawa maca ing mode incognito) Napa antarmuka dibutuhake ing Jawa - ngleksanakake kabeh conto saka artikel kene lan ngganti cara loro ing antarmuka lan ing kelas: jeneng saka cara, teken (apa cara njupuk minangka input), jinis output saka cara. Ngerti dhewe: - prabédan nalika ngleksanakake antarmuka karo kelas lan kelas abstrak; - cara standar.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION