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

接口继承(Extending Interfaces)
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
马克-to-win:对于以下的例子,Moto788这个产品只有照相takePhoto和通话talk的功能。而Moto888更为高级,除了照相和通话功能以外,还有mp3的功能。接口继承到底有什么意义呢?马克-to-win:1)通过接口继承很方便实现功能自由选择组合。同时发布Moto788和Moto888这两款产品 2)当初由于各方面的限制,设计有局限,比如Moto788没有mp3的功能,意识到这个缺陷后,通过接口继承升级到Moto888,很容易实现功能升级, 竞争。



例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和传统电话一样, 我能通话");
    }
    public void takePhoto() {
        System.out.println("马克-to-win: 我能照相");
    }
}
class Moto888Mark_to_win implements IMoto888 {
    public void talk() {
        System.out.println("马克-to-win: 888和传统电话一样, 我能通话");
    }
    public void takePhoto() {
        System.out.println("马克-to-win: 我能照相");
    }
    public void playMusic() {
        System.out.println("马克-to-win: 我能放音乐");
    }
}
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();
    }
}


输出结果:
马克-to-win: 888和传统电话一样, 我能通话
马克-to-win: 788和传统电话一样, 我能通话