封装

2017-12-07  本文已影响3人  月寒兮夜凉
优秀文章

菜鸟教程 > Java 封装


说明

访问修饰符

实例

ArrayList源码(已删减):

public class ArrayList<E>{
    
    // 集合数据
    transient Object[] elementData;
    
    // 集合数据的大小
    private int size;
    
    // 获取指定元素
    public E get(int index) {
        return elementData(index);
    }
    
    public E set(int index, E element) {
        E oldValue = elementData(index);
        elementData[index] = element;
        return oldValue;
    }

    public boolean add(E e) {
        elementData[size++] = e;
        return true;
    }
    
    public int size() {
        return size;
    }
    
    public boolean isEmpty() {
        return size == 0;
    }
    
    public boolean contains(Object o) {
        return indexOf(o) >= 0;
    }
    
    public int indexOf(Object o) {
        if (o == null) {
            for (int i = 0; i < size; i++)
                if (elementData[i]==null)
                    return i;
        } else {
            for (int i = 0; i < size; i++)
                if (o.equals(elementData[i]))
                    return i;
        }
        return -1;
    }
    
    // 根据索引获取对应的元素
    E elementData(int index) {
        return (E) elementData[index];
    }
    
}

ArrayList私有化了成员属性并对外提供它们访问方法:

get:获取指定位置的元素;
set:向指定位置存放元素;
add:添加新的元素;
size:获取集合的大小;
isEmpty:判断集合是否为空;
contains:判断集合中是否存在指定元素;
indexOf:判断集合中指定元素的所在位置;
...

通过以上方法可以将原本复杂的数组操作变得简单,这就是封装。


优点


最后

封装是面向对象编程的实现基础。

上一篇下一篇

猜你喜欢

热点阅读