浅谈适配器模式

  • 适配器模式-----Adapter
public abstract class AbstractBox implements Box{
    
    
			public boolean add(element);
			public void add(int index,int element){
    
    //具体化
				//抛出自定义异常
			}
			public void addAll(){
    
    //具体化
				//抛出自定义异常
			}
			public int get(index);
			public int remove(index);
			public int size();

			public void rangeCheck(int index){
    
    
				if(index<0 || index>=size){
    
    
					自定义的异常
				}
			}
		}
public class ArrayBox extends AbstractBox{
    
    
			//属性用来存储真实数据elementDate[]
			//属性用来记录有效元素个数  int size;

			public boolean add(element){
    
    
				//1.确保数组内部容量
				//2.将element元素存入数组的最后位置  size++
				//3.返回一个true告知用户添加成功
			}
			public int get(index){
    
    
				//1.检测index范围是否合法
				//2.将index位置的元素从数组中取出 并返回
			}
			public int remove(index){
    
    
				//1.检测index范围是否合法
				//2.获取index位置上的元素----保留起来
				//3.从index开始至size-1位置   将后面元素逐一前移覆盖
				//4.最后有效的那个元素删掉  --size
				//5.保留起来的旧元素返回
			}
			public int size(){
    
    
				//return this.size;
			}
		}
	//这是一个自定义的类型----节点
		public class Node{
    
    
			Node prev;
			int item;
			Node next;
		}
	public class LinkedBox extends AbstractBox{
    
    
			属性存储首节点first
			属性存储尾节点last
			属性存储有效元素的个数size

			public boolean add(element){
    
    
				//找一个人 将element添加在链表末尾
				//告知添加成功
			}
			public int get(index){
    
    
				//检测index是否合法
				//找一个人  帮我们找到index位置的那个Node对象
				//将node中item数据返回
			}
			public int remove(index){
    
    
				//检测index是否合法
				//找一个人  帮我们找到index位置的那个Node对象
				//找一个人  帮我们将node对象删除   将删掉node对象中的旧数据返回
				//将旧数据返回
			}
			public int size(){
    
    
				返回有效元素的个数
			}
		}

猜你喜欢

转载自blog.csdn.net/m0_51945027/article/details/112798227