Java基础学习:面向对象08(封装)

Java基础学习:面向对象08

  • 封装:该露的露,该隐藏的隐藏;

    • 我们程序设计要追求”高内聚,低耦合“;

      • 高内聚:就是类的内部数据操作细节自己完成;不允许外部干涉;

      • 低耦合:仅暴露少了的方法给外部使用;

  • 封装:(数据的隐藏)

    • 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏

  • 记住:

    • 属性私有,get/set

       

  • 封装的意义:

    • 提高程序的安全性,保护数据;

    • 隐藏代码的实现细节

    • 统一接口

    • 提高系统的可维护性

       

  • 代码:

    /**
    * 封装的核心:私有 private
    *
    */
    public class Student {

       //封装:大多数是对属性进行封装的,对方法不需要封装

       //属性私有
       private String name;//姓名
       private int number;//学号
       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;
      }

       //快捷键:alt +insert

       public int getNumber() {
           return number;
      }

       public void setNumber(int number) {
           this.number = number;
      }

       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;
          }

      }
    }

    /*
    public static void main(String[] args) {

           Student s1=new Student();

           s1.setName("haha");

           System.out.println(s1.getName());

           System.out.println("-----------------");
           s1.setAge(999);//不合法、所以set方法中,可以做一些逻辑判断
           System.out.println(s1.getAge());


       }
    */

  •  

posted @   gzs1024  阅读(193)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示