码迷,mamicode.com
首页 > 编程语言 > 详细

java基础第六天_接口与适配器模式、多态、内部类

时间:2016-05-13 05:24:38      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:java   基础   接口   

[作业1]

------------------------------------

使用抽象类和接口实现适配器模式设计。涉及的类和接口分别为ButtonListener(接口),

其中含有click() / dbclick() / keyUp() / keyDown()等方法。

ButtonAdapter(按钮适配器类),适配器中对非click()方法进行默认实现。

Button类中添加addListener(ButtonListener l)方法。

答:

/*

定义一个接口,让接收到值判断做出相应动作,接口接收的值需要一个监视器接收

注意问题:a.接口实现全部实现即使是空实现。b.定义一个监视器接收值用接口类

*/


//定义接口

interface  ButtonListener{

public void click();

public void dbclick();

public void keyUp();

public void keyDown();

}


//定义按钮适配器类 适配器中对非click方法进行默认实现

abstract class ButtonAspter implements ButtonListener{

public void click(){}

public void dbclick(){}

public void keyUp(){}

public void keyDown(){}

}

//如果是单击,实现单击事件

class ButtonClick extends ButtonAspter{

public void click(){

System.out.println("单击");

}

}


//如果是双击,实现双击事件

class ButtonDbClick extends ButtonAspter{

public void dbclick(){

System.out.println("双击");

}

}

//监听器

class Button{

private ButtonListener ll;

//添加监听器

public void addListener(ButtonListener ll){

this.ll=ll;

}

//模拟单击事件

public void click(){

ll.click();

}

//模拟双击事件

public void dbclick(){

ll.dbclick();

}

}

class AdaptDemo{

public static void main(String[] args){

//单击

Button bt=new Button();

ButtonClick bb=new ButtonClick();

bt.addListener(bb);

bt.click();

//双击

Button bt2=new Button();

ButtonDbClick bb2=new ButtonDbClick();

bt2.addListener(bb2);

bt2.dbclick();

}

}

[作业2]

------------------------------------

阐述什么是多态。

为什么函数可以覆盖,而属性不能覆盖?

    a.同一消息可以根据不同对象给出不同的行为方式。同一事物不同形态。

    b.对于一个对象来说属性是自身的东西,属于资产不可覆盖,而函数是行为方法,不容纳数据,可以覆盖。

    

java基础第六天_接口与适配器模式、多态、内部类

标签:java   基础   接口   

原文地址:http://10718270.blog.51cto.com/10708270/1772459

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!