java中如何使用接口繼承(Extending Interfaces)

接口繼承(Extending Interfaces)
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203。
馬克-to-win:對(duì)于以下的例子,Moto788這個(gè)產(chǎn)品只有照相takePhoto和通話talk的功能。而Moto888更為高級(jí),除了照相和通話功能以外,還有mp3的功能。接口繼承到底有什么意義呢?馬克-to-win:1)通過(guò)接口繼承很方便實(shí)現(xiàn)功能自由選擇組合。同時(shí)發(fā)布Moto788和Moto888這兩款產(chǎn)品 2)當(dāng)初由于各方面的限制,設(shè)計(jì)有局限,比如Moto788沒(méi)有mp3的功能,意識(shí)到這個(gè)缺陷后,通過(guò)接口繼承升級(jí)到Moto888,很容易實(shí)現(xiàn)功能升級(jí), 競(jìng)爭(zhēng)。



例1.5:---本章源碼

interface PhotoTake {
void takePhoto();
}
interface Mp3{
    void playMusic();
}
interface IMoto788 extends PhotoTake{
    void talk();
}
interface IMoto888 extends PhotoTake,Mp3{
    void talk();
}
class Moto788Mark_to_win implements IMoto788 {
    public void talk() {
        System.out.println("馬克-to-win: 788和傳統(tǒng)電話一樣, 我能通話");
    }
    public void takePhoto() {
        System.out.println("馬克-to-win: 我能照相");
    }
}
class Moto888Mark_to_win implements IMoto888 {
    public void talk() {
        System.out.println("馬克-to-win: 888和傳統(tǒng)電話一樣, 我能通話");
    }
    public void takePhoto() {
        System.out.println("馬克-to-win: 我能照相");
    }
    public void playMusic() {
        System.out.println("馬克-to-win: 我能放音樂(lè)");
    }
}
public class Test {
    public static void main(String args[]) {
        Moto888Mark_to_win m888 = new Moto888Mark_to_win();
        m888.talk();
        Moto788Mark_to_win m788 = new Moto788Mark_to_win();
        m788.talk();
    }
}


輸出結(jié)果:
馬克-to-win: 888和傳統(tǒng)電話一樣, 我能通話
馬克-to-win: 788和傳統(tǒng)電話一樣, 我能通話