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

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









本文转自 weijie@java 51CTO博客,原文链接:http://blog.51cto.com/weijie/66467,如需转载请自行联系原作者
目录
相关文章
|
Java
Java面向对象三大特性之多态及综合练习
Java面向对象三大特性之多态及综合练习
96 0
|
存储 Java
Java面向对象的特征一:封装性
Java面向对象的特征一:封装性
63 0
|
存储 安全 Java
Java面向对象编程三大特征 - 封装
Java面向对象编程三大特征 - 封装
69 0
|
Java 数据安全/隐私保护
Java面向对象编程三大特征 - 继承
Java面向对象编程三大特征 - 继承
54 0
|
测试技术 领域建模 数据安全/隐私保护
用“实例化需求”,让需求澄清更高效(上)
用“实例化需求”,让需求澄清更高效(上)
603 0
用“实例化需求”,让需求澄清更高效(上)
|
敏捷开发 前端开发 测试技术
用“实例化需求”,让需求澄清更高效(下)
用“实例化需求”,让需求澄清更高效(下)
320 0
用“实例化需求”,让需求澄清更高效(下)
|
C# C++
《面向对象的思考过程(原书第4版)》一3.3 作用域的重要性
单个类可以实例化出多个对象。每个对象有唯一的标识和状态。这点很关键。会给每个单独构造的对象会分配独立的内存。然而,一个类实例化的多个对象可以共享类中一些属性和方法,从而共享为这些属性和方法分配的内存。
1449 0
《面向对象的思考过程(原书第4版)》一1.5 究竟什么是对象
对象是面向对象程序中的基础材料。使用面向对象技术的程序本质上是对象的集合。举例来说,一个公司系统包含了代表公司雇员的对象。接下来的小节描述了这些对象的数据和行为。
1045 0
|
JavaScript Java C#
《面向对象的思考过程(原书第4版)》一1.6 究竟什么是类
简单地说,类是对象的蓝图。当你实例化一个对象时,你基于类来构建这个对象。事实上,尝试解释类和对象实际上是一个先有鸡还是先有蛋的问题。描述类时不使用术语对象是非常困难的,反之亦然。例如,个人自行车是一个对象。
1161 0