zoukankan      html  css  js  c++  java
  • Day09_面向对象 封装

    封装

    • 该露的露,该藏的藏

      • 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。
    • 封装(数据的隐藏)

      • 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。
    • 记住这句话就够了:属性私有,get/set

    package com.oop.Demo04;
    
    //类 private:私有
    public class Student {
    
        //属性私有
        private String name;//名字
        private int id;//学号
        private char sex;//性别
        private int age;
        // 提供一些可以操作这个属性的方法!
        // 提供一些public的get、set方法
    
        //get 获得这个数据
        public String getName(){
            return this.name;
        }
        //set 给这个数据设置值
        public void setName(String name){
            this.name = name;
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public char getSex() {
            return sex;
        }
    
        public void setSex(char sex) {
            this.sex = sex;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            if (age>120||age<0){
                this.age = 3;
            }else {
                this.age = age;
            }
        }
    }
    
    package com.oop;
    
    import com.oop.Demo04.Student;
    /*
        1.提高程序的安全性,保护数据
        2.隐藏代码的实现细节
        3.统一接口
        4.系统可维护增加了
     */
    public class Application {
        public static void main(String[] args) {
            Student s1 = new Student();
            s1.setName("hh");
            System.out.println(s1.getName());
            s1.setAge(-1);//不合法的
            System.out.println(s1.getAge());
        }
    }
    
  • 相关阅读:
    vue中$router和$route的区别
    移动端rem自适应
    如何用Mac自带的QuickTime Player录制视频并制作GIF动图
    vue页面刷新重定向
    JavaScript Functional Programming:声明式与命令式
    配置一个可以使用Vue的History模式的后端服务
    vue使用jsx语法开发
    vue多页面项目配置
    JavaScript的本来面貌之默认结构
    JavaScript的本来面貌之默认值
  • 原文地址:https://www.cnblogs.com/lemonlover/p/14035515.html
Copyright © 2011-2022 走看看