• 从零开始学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

  • 相关阅读:
    JSP获取input(含正则表达式)
    Computability 7: Exercises
    Network 5: Data Link Layer
    PRML 7: The EM Algorithm
    PRML 6: SVD and PCA
    PRML 5: Kernel Methods
    PRML 4: Generative Models
    Computability 6: Reducibility
    Distributed Hash Table
    Network 4: Network Layer
  • 原文地址:https://www.cnblogs.com/Cgosling/p/9937480.html
Copyright © 2020-2023  润新知