您的位置:首页 > 其它

优先使用对象组合,而不是使用继承

2014-01-17 17:42 246 查看
先转载一个例子:

继承例子:

public class MyStack extends Vector{

public void push(Object element){

insertElementAt(element, 0);

}

public Object pop(){

Object result = firstElement();

removeElementAt(0);

return result;

}

}

当然Vector中还有size和isEmpty方法,当然这两个方法我们是不需要的,但是我们在实例化MyStack的时候,提示是还会有这两个方法,这就是一个问题了,我们需要将其删除。

组合对象例子:

public class MyStack{

private Vector vector = new Vector();

public void push(Object element){

vector.insertElementAt(element, 0);

}

public Object pop(){

Object result = vector.firstElement();

vector.removeElementAt(0);

return result;

}

}

这样就会避免上面的问题了。

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

转载自重构改善既有代码的设计
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐