A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一直很安静 中级黑马   /  2013-11-12 11:19  /  957 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 一直很安静 于 2013-11-14 14:04 编辑

基础加强对javabeans 的简单内省操作 要获取x的值为什么不直接用pt1.getX?

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

1 个回复

倒序浏览
原因是——为了不改变源码。
毕老师在课堂上说过,为了扩展功能或者需求变化而改变源码是个灾难,因为牵一发动全身,所有有关联的代码都需要修改。
所以,使用内省的方式来获取和修改成员变量的值。
为什么内省就不需要修改代码呢?
举个例子,如果程序在编写的时候,需要获取变量x的值,那么你就需要使用getX()方法吧?
但是如果,后期需求有变,需要获取变量y的值怎么办?你是不是还要修改getX()为getY()?
而如果使用内省,你只需要修改propertyName="x"为propertyName="y",这样就省去了很多操作,如果再把这个变量的值通过输入流读取一个properties文件,那么只需要修改properties文件就可以了,甚至不用操作源代码。

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马