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

Napa warisan antarmuka perlu?

Diterbitake ing grup
Napa antarmuka dibutuhake? Napa warisan antarmuka perlu? Kenapa polimorfisme dibutuhake? Kanggo sing maca lan ngerti carane nindakake warisan antarmuka, nanging ora ngerti apa. Pungkasan, nggunakake conto kulawarga Ivanov biasa, kita ndeleng kenapa antarmuka dibutuhake. Kita terus digitalisasi kulawarga sing bermasalah. Saben uwong nduweni pakulinan sing ora diwarisake marang sapa wae utawa ora diwarisake marang sapa wae – pakulinan pribadine. Tugas kita yaiku nyedhiyakake saben anggota kulawarga kanthi kabiasaan sing unik. Ayo pindhah menyang bidang Jawa: kita kudu ngetrapake metode unik ing kelas sing mung ana ing kelas kasebut. Inggih, maju! Iki Petya:
class Петя implements ПривычкиПапы, ПривычкиМамы {

//это личные Петины привычки
public void ковырятьВНосу () {
System.out.println("Ковырь-ковырь");
    }

//это унаследованные привычки
@Override
public void прихлюпывать() {
     System.out.println("Хлюп");
   }

@Override
public void поджимать () {
System.out.println("Поджать губки");
    }
}
Iki bapak:
class Папа implements ПривычкиПапы {

//это личные Папины привычки
public void чесатьБороду () {
System.out.println("Чешу бороду");
    }

//это переданные привычки
   @Override
    public void прихлюпывать() {
     System.out.println("Хлюп");
   }
}
Iki Ibu:
class Мама implements ПривычкиМамы{

//это личные Мамины привычки
public void хлопатьРесницами () {
System.out.println("Хлоп-хлоп");
    }

//это переданные привычки
@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
Sempurno! Kabeh bisa digunakake minangka ngirim! Ing artikel pisanan, dikandhakake manawa program kasebut minangka refleksi saka jagad nyata. Properti sing paling menarik saka kasunyatan yaiku owah-owahan kabeh wektu. Kulawarga Ivanov ora ana sing istiméwa, padha duwe putri manis jenenge Masha. Lan dheweke nurunake pakulinan saka ibu lan sniffling saka bapak. Kita kudu ngowahi program kita. Napa warisan antarmuka perlu?  - 1Ayo, ora angel, sing utama yaiku mikir kanthi logis. Sawise kabeh, kabeh wong ngerti kenapa antarmuka dibutuhake. Saiki ayo nggawe antarmuka Masha kang Sifat , njlèntrèhaké clapElashes () lan squish () cara ana , ngleksanakake kanggo Masha lan kita wis rampung. Dadi, yen cara kanthi jeneng sing padha wis ditindakake ing antarmuka liyane, sampeyan bisa nindakake sapisan. Napa warisan antarmuka perlu?  - 2Pancen, sapa sing ngerti apa rencana kulawarga Ivanov, yen Seryozha lair , sing bakal marisi pakulinan saka Bapak, Ibu, Simbah lan wong liya saka generasi kaping papat, saben nggawe antarmuka, kaya: antarmuka Seryozha's Habits , lan ana. wara-wara cara sing wis bisa ngumumaké atusan kaping ing antarmuka liyane? Ing saperangan utawa telung generasi, kita duwe risiko entuk antarmuka karo macem-macem cara sing padha sing wis diterangake ing antarmuka liyane, lan yen kita kudu ngganti jeneng sawetara pakulinan (lan iki bisa uga - sawise kabeh, jagad iki ganti). , banjur carane tokoh metu spageti iki, Aku Aku ora bisa mbayangno. Sing isih ana mung lungguh lan ngimpi keajaiban. Napa warisan antarmuka perlu?  - 3Saiki, yen saben pakulinan duwe antarmuka dhewe. Ayo mbayangno:
public interface ПривычкаПрихлюпывать {
    public void прихлюпывать();
}
public interface ПривычкаПоджимать {
    public void поджимать();
}
public interface ПривычкаКовырятьВНосу {
    public void ковырятьВНосу();
}
public interface ПривычкаХлопатьРесницами {
    public void хлопатьРесницами();
}
public interface ПривычкаЧесатьБороду {
    public void чесатьБороду();
}
Banjur, kaya ing Lego, kita bisa nggunakake macem-macem warisan saka kabiasaan individu, ngetik antarmuka sing dibutuhake kanggo kabiasaan anggota kulawarga. Kaya iki:
public interface ПривычкиМамы extends ПривычкаПоджимать, ПривычкаХлопатьРесницами {
    }
public interface ПривычкиПапы extends ПривычкаЧесатьБороду, ПривычкаХлюпать {
    }
public interface ПривычкиПети extends ПривычкаПоджимать, ПривычкаХлюпать,ПривычкаКовырятьВНосу {
    }
public interface ПривычкиМаши extends ПривычкаХлюпать, ПривычкаХлопатьРесницами {
    }
Banjur mung ngleksanakake antarmuka sing dikarepake menyang kelas sing dikarepake, contone, Ibu:
class Мама implements ПривычкиМамы{
@Override
public void хлопатьРесницами () {
System.out.println("Хлоп-хлоп");
    }

@Override
public void поджимать() {
System.out.println("Поджать губки");
    }
}
Bab sing padha bisa ditindakake karo Papa, Petya lan Masha . Banjur, kanthi ekspansi kulawarga Ivanov, ora bakal ana masalah karo kabiasaan, kita mung bakal ngocok liwat warisan ing tingkat antarmuka, kaya bahan ing salad, lan ora bakal ngasilake akeh metode kanthi jeneng sing padha. Eh, impen, impen ... Napa warisan antarmuka perlu?  - 4Wong sing digambar bener, iki bener bisa - saiki simulasi kulawarga Ivanov disimpen! Sing maca enten bisa takon pitakonan: "Napa nggawe antarmuka kanggo saben anggota kulawarga? Kita duwe set tumindak - langsung ngleksanakake kanggo kelas sing dibutuhake." Ayo mbayangno manawa ing pirang-pirang jagad paralel ana ganda Petya , lan kabeh Petyas kudu ngetrapake antarmuka Kebiasaan Petya.
interface ПривычкиПети extends ПривычкаПоджимать, ПривычкаХлюпать,ПривычкаКовырятьВНосу

class ПетяВселеннаяХ implements ПривычкиПети
class ПетяВселеннаяY implements ПривычкиПети
// и т.д.
Apa yen ora ana antarmuka umum?
class ПетяВселеннаяХ implements ПривычкаПоджимать, ПривычкаХлюпать,ПривычкаКовырятьВНосу
class ПетяВселеннаяY implements ПривычкаПоджимать, ПривычкаХлюпать,ПривычкаКовырятьВНосу
// и т.д.
Iki nyebabake kode sing luwih bola-bali. Warisan antarmuka nggawe aplikasi luwih fleksibel kanggo diganti, utamane, masalah karo metode sing diulang bisa ditanggulangi. Wigati dimangerteni maneh manawa macem-macem warisan antarmuka diidini.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION