为了账号安全,请及时绑定邮箱和手机立即绑定

java类封装的问题

java类封装的问题

长风秋雁 2018-09-11 10:02:21
在java中,类的属性是否必需把权限写成private?然后提供get,set来对属性进行访问?个人觉得,对于一些特别的属性,例如人的年龄,防止程序员把它设成负数,所以需要设置set函数,在函数中对设置内容进行过滤。但老师要求所有属性都设置成private,说这样才能体现封装的思想。但在大量的python程序中,对象的设计就没有必须设置成私有属性的习惯。所以这种方式是java的规范,还是所有面向对象设什都应该这么做?这样做有什么特别的好处吗?
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

封装是面向对象三大特性之一,严格的说所有属性就应该private,每门语言对于面向对象支持的方式与程度可能存在差异,Java的规范严格,对于面向对象的支持非常好。

在保护数据的同时,通过setter和getter方法还能更精细的控制访问权限,如:对于某个属性只提供getter,那么这个属性就是只读属性,只允许在构造方法中初始化或者内部修改。

好好理解下封装的概念与作用。


查看完整回答
反对 回复 2018-09-16
  • 2 回答
  • 0 关注
  • 623 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信