java封装为什么要将属性私有化,又将获得这些属性的方法公有化?

2024-11-15 10:51:51
推荐回答(1个)
回答1:

我们来谈谈封装的思想:
封装就是将属性私有化,提供公有的方法访问私有的属性。*实现封装的步骤:(1)修改属性的可见性来限制对属性的访问。(2)为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问。(3)在赋值和取值方法中,加入对属性的存取限制。**为了实现良好的封装性,我们通常将类的成员变量声明为private,再通过public的方法来对这个变量进行访问。对一个变量的操作,一般都有读取和赋值操作,我们分别定义两个方法来实现这两种操作,一个是getXxx()(Xxx表示要访问的成员变量的名字),用来读取这个成员变量操作,另外一个是setXxx()用来对这个成员变量赋值。**如果外面的程序可以随意修改一个类的成员变量,会造成不可预料的程序错误,就象一个人的身高,不能被外部随意修改,只能通过各种摄取营养的方法去修改这个属性。publicclassAccpTeacher{privateStringname;privateintage;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnname;}publicvoidsetName(Stringage){if(age<22){System.out.println("年龄不符合,太小!");}else{this.age=age;}}}****封装的优点:(1)隐藏类的实现细节;(2)让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;(3)便于修改,增强代码的可维护性;
看我这个你应该明白为什么要将属性私有化。