对Java封装的一个理解

忘是亡心i 2022-03-21 15:16 324阅读 0赞
真正的封装是什么意思
  1. 封装意味着对象的属性值是不能够改变的。
  2. 一旦需要改变一个对象的值,那么就违背了封装的原则。
封装的属性理解
  1. 使用setter方法是因为想修改它的值。
  2. 使用getter方法是因为想获取它的值。
  3. 所以,当我设计一个属性的时候,我需要思考此属性的值我要不要修改。如果需要修改,我们就需要生成属性的setter方法。只是修改的不是原来对象的值,而是我们深拷贝这个对象,并在这个副本对象上进行操作,这样就保证了原来的对象的封装性。
保证封装性的一个做法

因为修改值是一定会发生的,所以我修改它的一份深拷贝的值,这样保证原来的对象没有任何变化,以此来保证真正的封装性。

Java是怎样保证值不变的
  1. 使用final关键字修饰属性。
  2. 为属性提供getter方法,不提供setter方法。
小结
  1. 封装说的是对象的属性值是不可变的。
  2. 采用深拷贝方式来保证封装性。
  3. 为属性只设置getter方法来保证封装性。
  4. 采用final修饰属性来保证封装性。

发表评论

表情:
评论列表 (有 0 条评论,324人围观)

还没有评论,来说两句吧...

相关阅读

    相关 概念

      封装:         概念:            将类的某些信息隐藏在类内部,不允许外部程序直接访问,            而是通过该类提供的方法来实现对隐藏

    相关 Java深入浅出

    前言 封装是一种隐藏信息的技术,是将一个系统中的结构和行为通过类来划分的过程。即通过定义一组类,将特定的数据组合到某一个类中,形成一个整体,将该隐藏的数据进行保护,只对外

    相关 Java一个理解

    真正的封装是什么意思 1. 封装意味着对象的属性值是不能够改变的。 2. 一旦需要改变一个对象的值,那么就违背了封装的原则。 封装的属性理解 1. 使用se