• java基础-隐藏和封装


    我们知道类内部定义的属性(对象的成员变量)直接操作会导致数据的错误,混乱,安全性问题等

    那么如果你还不太明白上面的话,让我们来看下面代码演示

    package yichang;
    
    public class demo {
        public int age;
        public void printAge(){
            System.out.println(age);
        }
    }
    package yichang;
    
    public class test1 {
        public static void main(String[] args) {
            demo p =new demo();
            p.age=2;
            p.printAge();
        }
    }

     那么程序是没有什么问题的对吧。但是

    这样的情况类的属性age被开放出来了,可以在外面的类,调用者等随意使用,这样就会有问题,比如age=-3034等负数都有可能

    所以需要改进,不能让调用者随意使用

    package yichang;
    
    public class demo {
        private int age;
        public void printAge(){
            System.out.println(age);
        }
        //设置一个方法
        public void setAge(int a){
            if(a<=150&&a>=0)
            {
                age =a;
            }
            else {
                System.out.println("输入的年龄不符");
            }
    
        }
    }
    package yichang;
    
    public class test1 {
        public static void main(String[] args) {
            demo p =new demo();
            p.setAge(2);
            p.printAge();
        }
    }

     那么这就是封装和隐藏

    将变量设置为私有private

    然后通过set get等设置对属性操作

    也增加了代码的可维护性。

  • 相关阅读:
    WebBrowser Control(三)Privacy Alert对话框
    工具栏添加控件
    OpenGL(一)Introduction
    WebBrowser Control(四)URL Security Zones
    OpenGL(二)三维变换
    STL(二)Iterators
    string与wstring转换
    vs2005制作安装包
    唉,又是数组越界的问题!
    CString之GetBuffer、ReleaseBuffer
  • 原文地址:https://www.cnblogs.com/yangj-Blog/p/12963786.html
Copyright © 2020-2023  润新知