注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 模拟Linux客户端远程登陆L..
 帮助

如何更准确的理解面向对象编程中的对象


2008-03-18 13:00:36
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://weijie.blog.51cto.com/340746/66467
 现在面向对象的编程思想已经有好长的历史了,我们可能天天都在运用.我们应该如何理解它呢?100个人可能有100种答案,因为它太容易理解了,同时也是最难真正理会其含义的.理解好理解,但在实际的编程当中我们能否真正运用呢?一般很难,我们虽然写出的代码看似运用面向对象的分析而写出来的,其实你还是运用以前的老思想,面向过程的.怎样才能让我们的分析与我们的代码同步了,那就是必须先真正的理解对象.
    大部人可能会说:万事万物皆对象.说对象是类的实力.等...
   理论上说这些说法都是有道理的,但在我们编程当中,如果这样理解的话,起不到思想与代码的同步。
        理解对象的最佳方法,我们应该把它看成"具有责任的东西(事物)",其实也就是一条我们常用的设计规则:对象应该自己负责自己,而且应该清楚地知道自己的责任。(自己对自己负责)这充分的体现了面向对象的封装性,自己的事自己做,不依靠别人。
     面向对象编程的三个基本原则:
    第一:封装性(透明):是将程序代码及其处理的数据绑定在一起的一种编程机制。该机制保证了程序和数据不受外部干扰和不被误用。理解封装的一个好办法就是把它想象成一个黑箱子,它可以阻止在外部定义的代码随意访问内部代码和数据。对黑箱子内的代码和数据的访问要通过一个适当的接口严格控制。
  封装也就是隐藏了对象的属性和实现细节。仅仅对外公开接口。
   在java中封装的基本的单元:类(class)。
  封装到底在软件系统中能带来哪些优点了。
 1。便于使用者正确,方便地理解和使用系统,防止使用者错误修改系统的属性。
 2。有助于建立各个系统之间的松耦合,高内聚,提高系统的独立性。 
 3.提高软件的可重用性,每个系统都是一个相对独立的整体,可以在多种环境中得到重用。
4。降低了构建大型系统的风险,即使整个系统不成功,个别独立的子系统还有可能是用价值的。
封装的两大原则:
1。把尽可能多的东西隐藏起来,对外提供简单的接口。(系统的封装程度越高,那么它的相对独立性就越高,而且使用起来也越方便)。
2。把所有的属性藏起来。

本文出自 “魏杰的技术专栏” 博客,请务必保留此出处http://weijie.blog.51cto.com/340746/66467





    文章评论
 
2008-08-19 14:48:37
不妨这样理解,对象是一堆职责的聚合。有了职责它就会自然的引入方法,有了方法就是有了封装。
看对象只能看到它的方法,它的动作。仅次而已。所以那句万物皆对象不准确;一个事物对于当前应用来说它是没有承担任何职责的那么它就不应该是对象。

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: