信息隐藏和this

Posted on 2022-02-04 12:32  zhoumubaiyu  阅读(43)  评论(0编辑  收藏  举报

信息隐藏和this

  • 面向对象有一个法则,是私有的private

    • 类的成员属性,是私有的private

    • 类的方法是公有public的,通过方法修改成员属性的值

  • 打个比方:朋友再熟悉,也不会到他抽屉直接拿东西,而是通过他的公开接口来访问,修改东西

     

  • class InfoHiding{
      private int id;
      
      public InfoHiding(int id2){
        id = id2;
      }
      public int getId(){
        return id;
      }
      public void setId(int id2){
        id = id2;
      }
     }
    
    public class InfoHidingTest{
      public static void main(String[] args){
        InfoHiding obj = new InfoHiding(100);
        obj.setId(200);
        System.out.println(obj.getId());
      }
    }
    

     

    • 类成员是私有private的

    • get和set方法是公有public的,统称为getter和setter

    • 外界对类成员的操作只能通过get和set方法

    • 可以用JavaIDE快速生成

    • this负责指向本类中的成员变量

    • class InfoHiding {
        private int id;
        
        public InfoHiding(int id2){
          id = id2;
        }
        public int getId(){
          return id;
        }
        public void setId(int id2){
          id = id2;
        }
      }
      

       

      public class InfoHiding2 {
        private int id;
        
        public Infohiding2(int id){
          this.id = id;
        }
        public int getId(){
          return id;
        }
        public void setId(int id){
          this.id = id;
        }
      }
      

       

    • this负责指向本类中的成员方法

      • this.add(5,3);//调用本类的add方法,this可忽略

    • this可以代替本类的构造函数

      • this(5);//调用本类的一个形参的构造函数

        public calss ThisTest {
          
          public static void main(String[] args){
            MyPairNumber obj = new MyPairNumber(5);
            
            System.out.println(obj.sum());
          }
        }
        

         

  • 类成员是私有private的

  • get和set方法是公有public的,统称为getter和setter

  • 外界对类成员的操作只能通过get和set方法

  • 可以用JavaIDE快速生成

  • this负责指向本类中的成员变量