标签:java
[作业1]
------------------------------------
使用抽象类和接口实现适配器模式设计。涉及的类和接口分别为ButtonListener(接口),
其中含有click() / dbclick() / keyUp() / keyDown()等方法。
ButtonAdapter(按钮适配器类),适配器中对非click()方法进行默认实现。
Button类中添加addListener(ButtonListener l)方法。
//按钮监听接口
interface ButtonListener
{
public void onClick();
public void onDbclick();
public void onKeyUp();
public void onKeyDown();
}
//Button监听器适配器
abstract class ButtonAdapter implements ButtonListener
{
public void onDbclick(){}
public void onKeyUp(){}
public void onKeyDown(){}
}
class MyListener extends ButtonAdapter
{
public void onClick(){
System.out.println("点击1次");
}
public void onDbclick(){
System.out.println("点击2次");
}
}
class Button
{
//按钮的监听器
private ButtonListener listener;
//添加监听器
public void addListener (ButtonListener l){
this.listener = l;
}
public void click(){
listener.onClick();
}
public void dbClick(){
listener.onDbclick();
}
}
class AdapterDemo
{
public static void main (String[] args){
MyListener ml = new MyListener();
Button b = new Button();
b.addListener(ml);
b.click();
b.dbClick();
}
}[作业2]
------------------------------------
阐述什么是多态。
为什么函数可以覆盖,而属性不能覆盖?
答:
定义:某一类事物的多种存在形态。
对继承的类来讲,使用父类类型引用子类的对象。
对于接口来说,可以使用接口引用实现了该接口的类所创建的对象。
属性是资产,容纳数据的地方,函数是行为,不容纳和存储数据,所以函数可以被覆盖,而属性不能。
本文出自 “迷之企鹅” 博客,请务必保留此出处http://xpenguin.blog.51cto.com/4912157/1772801
标签:java
原文地址:http://xpenguin.blog.51cto.com/4912157/1772801