此时我们需要明确一个概念:代码运行正确,但是不代表符合业务逻辑,这样的代码我们一般会说代码处理不合法!
2. 实现封装的过程
对于上面这样的问题,我们应该怎么处理呢
常规的方案就是:
定义一种这样的属性,属性只有在当前类的内部可以访问
类的外部不能访问这个属性,只能通过类提供的方法来进行属性的取值和赋值
在取值或者赋值的方法中,就可以添加一定的限制处理的代码了
我们从上面的代码中已经看到了,可以通过函数操作的形式来进行属性的处理
但是某些情况下,函数操作的形式并不是特别美妙,我们突发奇想~想再提供了set/get访问方法的情况下,对属性的操作还能像以前那样直接赋值或者取值进行操作
此时,你还能在不看原来类型定义中的get/set,区分出来name是否是Person类型的属性还是方法呢?
> 封装的注解方式,在一定程度上,能隐藏我们方法在底层的实现,让调用者的操作变得简单。但是同时也降低了代码的可读性,后续的操作中,我们还是遵循原来封装的操作方案将类的属性私有化,提供set/get方法进行属性的操作。