类的三大特性包括:封装、继承、多态
一、 封装
**1.含义:**封装就是把同一类事物的共性(包括属性和方法)归到同一类中,方便使用。
封装和继承几乎都是为多态而准备的。
封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些接口使其与外界发生联系。也就是说用户无需知道内部的数据和方法的具体实现细节,只需根据留在外部的接口进行操作就行。
2.封装的实现
2.1 需要修改属性的访问控制符(修改为private);
2.2 创建getter/setter方法(用于属性的读写);
2.3 在getter/setter方法中加入属性控制语句(用于判断属性值的合法性);
属性 (成员变量 ) 随对象存放在堆中
直接通过对象调用属性,修改属性值是不安全的,那怎么办?
为了实现良好的封装,我们通常将类的成员变量声明为private,为了能够在外部使用,可以通过定义public方法来对这个变量来访问。对一个变量的操作,一般有读取和赋值2个操作,我们分别定义2个方法来实现这2个操作,一个是getXX(XX表示要访问的成员变量的名字)用来读取这个成员变量,另一个是setXX()用来对这个变量赋值
Boolean的get方法默认名为isXXX()
把成员变量设置为私有的,只能在本类中使用,所以属性也叫全局变量。
3. 封装的优点
3.1 将变化隔离
3.2 便于使用
3.3 提高重用性
3.4 提高安全性
4. 封装的缺点:
将变量等使用private修饰,或者封装进方法内,使其不能直接被访问,增加了访问步骤与难度!
实例:
public class People {

    /*
 
     * 对属性的封装一个人的姓名、年龄
 
     */
 
    private String name;
 
    private int age;
    /*
 
     * setter()、getter()是该对象对外开发的接口
 
     */
 
    public String getName() {
 
        return name;
 
    }
    
    public void setName(String name) {
 
        this.name = name;
 
    }
 
    public int getAge() {
 
        return age;
 
    }
    
    public void setAge(int age) {
 
        this.age = age;
 
    }
 
}

posted on 2021-07-21 21:44  辰逸1  阅读(81)  评论(0编辑  收藏  举报