第六章 接口

作者: 永不熄灭的火焰_e306 | 来源:发表于2019-10-09 21:38 被阅读0次

接口

一、抽象类和抽象方法

抽象方法:仅有声明而没有方法体

抽象类:包含抽象方法的类。(如果一个类包含一个或者多个抽象方法,该类必须被限定为抽象的)。

二、java中的多重继承----(继承一个类,实现多个接口)

顺序:先继承类,后实现接口

方式:要从一个非接口的类继承,只能从一个类去继承。其余元素都必须是接口,

需要将所有的接口名都置于implements关键字之后,用逗号将它们一一隔开。

使用接口的核心原因:

①为了向上转型为多个基类型(以及游戏带来的灵活性)

②与使用抽象基类相同:防止客户端程序员创建该类的对象,并确保这仅仅是建立一个接口。

三、接口与工厂

import static net.mindview.util.Print.*;
//两个接口
interface Game {boolean move();}
interface GameFactory{Game getGame();}

class Checkers implements Game{
    private int moves =0;
    private static final int MOVES =3;
    public boolean move(){
        print("Checkers move "+moves);
        return ++moves != MOVES;
    }
}

class CherkersFactory implements GameFactory{
    public Game getGame(){
        return new Checkers();
    }
}

class Chess implements Game{
    private int moves =0;
    private static final int MOVES =4;
    public boolean move(){
        print("Chess move "+moves);
        return ++moves != MOVES;
    }
}

class ChessFactory implements GameFactory{
    public Game getGame(){ return new Chess();}
}

public class Games{
    public static void playGame(GameFactory factory){
        Game s =factory.getGame();
        while(s.move())
            ;
    }
    public static void main(String[] args){
        playGame(new CheckersFactory());
        playGame(new ChessFactory());
    }
    
}
//output
Checkers move 0
Checkers move 1
Checkers move 2
Chess move 0
Chess move 1
Chess move 2
Chess move 3    
1570454126117.png

执行顺序:①②③④⑤⑥

解释:⑤⑥:普通接口及实现类

③④:工厂接口及实现类

②:定义工厂接口对象的方法,用于传参(工厂接口的实现类对象)

①:调用静态方法

相关文章

  • 2019-06-10

    第六章 数据服务 一、服务架构演进 DWSOA:一个需求一个接口、编码实现接口、接口数量5000/年,将业务方对数...

  • logback官方文档中文翻译第六章:Layouts

    第六章:Layouts layout 是 logback 的组件,负责将日志事件转换为字符串。Layout 接口中...

  • 第六章 接口

    接口所有的方法默认都是public 可以声明接口变量,赋值为实现该接口的类object 接口可以继承接口 接口可以...

  • 第六章 接口

    接口 一、抽象类和抽象方法 抽象方法:仅有声明而没有方法体 抽象类:包含抽象方法的类。(如果一个类包含一个或者多个...

  • 《岳响河》目录 第六章

    第六章1 第六章2 第六章3 第六章4 第六章5 第六章6 第六章7 第六章8 第六章9 第六章10 第六章11 ...

  • HCNA学习笔记(五)IP编址

    第六章 IP编址 有类编址 MAC表示“我是谁”,IP表示“我在哪”MAC地址与IP地址都是网络设备接口的属性,而...

  • 高质量代码-代码依赖于公共接口

    最近在读《代码大全》这本书,第六章说到了一个点,代码应该依赖于公共接口,而不是依赖于类的私用实现。我发现这个点...

  • 第六章 接口与内部类

    1.接口:描述类具有什么功能,而不用给出每个功能的具体实现,一个类可以实现一个或者多个接口。 2.对象的克隆是指创...

  • 第六章 输入输出接口

    6.1 I/O接口概述 I/O接口是位于基本系统与外设间实现两者数据交换的控制电路。 6.1.1 I/O接口的典型...

  • 2017-09-07学习记录

    今天学习了第六七章的内容,还看了第九章接口的一些内容;下面是所有的内容: 第六章:访问权限控制 访问权限主要是类程...

网友评论

    本文标题:第六章 接口

    本文链接:https://www.haomeiwen.com/subject/aldnpctx.html