你能帮我理解封装吗(初学者)?

 单色设计 发布于 2023-01-02 12:54

我一直在使用一本迄今为止非常出色的Java书籍,但它并没有很好地解释我们使用setter和getter的原因.我搜索了其他帖子,但没有一个真正帮助过我.我将从书中发布一个程序并解释我的问题.

   package lesson1;
public class GoodDog {
   private int size;

   public void setSize(int sz){
      if(sz > 10){
         size = sz;
      }
   }
   public int getSize(){
     return size;
   }
}

二等:

   package lesson1;
public class GoodDogTestDrive {

   public static void main(String[] args) {
      GoodDog one = new GoodDog();
      one.setSize(15);
      System.out.println(one.getSize());
   }
}

这是我的第一篇文章,所以如果没有代码那么请原谅我.不要问为什么这些课程被命名为,我没有想象力,只是使用了这本书的名字.

无论如何,我的理解是封装(对我来说这基本上意味着getter和setter)阻止了对即时变量的直接访问.唯一有效的原因是因为不应允许某些即时变量值.

比如说我们有int高度; (即时变量)我们不应该说object.height = 0; ('object'是随机引用变量).在我的小程序中,它只是一个狗的高度,只是一个简单的限制.这并不意味着有意义,但我只是想弄清楚这个概念.当程序员需要使用彼此的代码时,封装是否仅仅适用于编程公司.比如,以游戏为例,还是与众不同?

我观看了一段视频,说它只是简化了代码管理.但是我仍然不觉得我完全理解这个概念.有人可以用简单的语言向我解释.请注意,我是初学者,不会理解涉及中间代码的示例.

谢谢您的帮助.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有