从零开始学java (封装)

封装

  封装是java面向对象的三大特征之一,简而言之封装就是将类的成员属性声明为私有,同时提供共有的方法实现对该成员属性的存取操作;

  主要的实现目的:

    隐藏类的实现细节,

    让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入逻辑控制,限制对成员变量的不合理访问,

    可进行数据的检查,从而有利于保护对象信息的完整性

    便于修改,提高代码的可维护性

  为了实现良好的封装,从下面两个方面去考虑如何封装一个对象

    将对象的成员变量和实现细节隐藏起来,不允许外部直接访问

    把方法暴露出来, 让方法来控制对这些成员变量进行安全的访问与操作。(就是你怎么操作限制我说了算,你需要的数据是什么样的我说了算,变量不是    你输入什么就会给你什么 当然根据实际的业务来说)

  封装的好处

    隐藏类的实现细节,让使用者只能通过程序规定的方法来访问数据,可以方便的加入存取控制语句,限制不合理的操作。

  

/**
 * 模拟一个业务中的javabean
 * @author GMZ
 *
 */
public class Person {

    //我们来封装四个  person这个类 的私有属性
    private String name;
    private Integer age;
    private char sex;
    private String identity;
    
    
    //生成它的set与get方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public char getSex() {
        return sex;
    }
    public void setSex(char sex) {
        this.sex = sex;
    }
    public String getIdentity() {
        //现在我们给这个身份中加一个去除空格的操作  trim方法是字符串去除空格 
        return identity.trim();
    }
    public void setIdentity(String identity) {
        this.identity = identity;
    }
    
    
    
}

  这是一个简单的类的封装 ,在实际的应用中你可以重写类的toString方法,还有可能去写一个类的构造器,或者去重载一个或者多个构造器。

  跟封装比较切合的还有一个设计模式  单例设计模式 https://www.cnblogs.com/Cgosling/p/9880076.html

posted @ 2018-11-09 22:55  2020turing  阅读(180)  评论(0编辑  收藏  举报