`
crazyox
  • 浏览: 185113 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

理解OO

阅读更多

OO的特征:

封装:   封装是指隐藏对象的属性和实现细节.封装能为软件系统带来以下优点:

  1. 便于使用者正确的方便的理解和使用系统,防止使用者错误修改系统的属性。
  2. 有助于建立各个系统之间的松耦合关系,提高系统的独立性。当某一个系统的实现发生变化,只要它的接口不变,就不会影响到其他的系统。降低了构建大型系统的风险,即使整个系统不成功,个别的独立子系统有可能依然是有价值的。例如相机损坏了,它的干电池依然有用,可以安装到手电筒中。
  3. 提高软件的可重用性,每个系统都是一个相对独立的整体,可以在多种环境中得到重用。例如干电池就是一个可重用的独立系统,在相机、手电筒、电动剃须刀和玩具赛车中都能发挥作用。
  4. 降低了构建大型系统的风险,即使整个系统不成功,个别的独立子系统有可能依然是有价值的。例如相机损坏了,它的干电池依然有用,可以安装到手电筒中。


一个设计良好的系统会封装所有的实现细节,把它的接口与实现清晰的隔离开来,系统之间只通过接口进行通信。面向对象的编程语言主要是通过访问控制机制来进行封装,这种机制能控制对象的属性和方法的可访问性。

摘自《Java面向对象编程》一书,作者:孙卫琴 来源:www.javathinker.org
 

继承VS多态

继承体现的是对象间的共性,父类提供较通用的行为模板,各个子类调用父类的行为,避免冗余,大大提高了代码的可复用性和可维护性;子类可以在父类的基础上扩展自己的行为,提高了程序的可扩展性;

多态建立在继承的基础上,多态就是使得你能够用一种统一的方式来处理一组各具个性却同属一族的不同个体的机制。

多态体现的是各个对象在同一行为上的个性,具体表现为重写,将定义与实现相分离,体现了代码的可扩展性。

分享到:
评论

相关推荐

    oracle object server (OO4O)开发者手册

    《Oracle Object Server (OO4O)开发者手册》深入解析 一、Oracle Objects for OLE (OO4O): 开启...通过深入理解OO4O的原理和实践技巧,开发者能够充分发挥Oracle数据库的优势,创造出更加智能、高效的企业级解决方案。

    用OO写键盘游戏

    在本例中,键盘游戏作为一个教学工具,帮助初学者理解OO编程的基本原理和实践方法。 【描述】中提到,这个键盘游戏特别适合那些已经有一定结构化编程基础,希望转向面向对象编程的学员。结构化编程强调的是顺序、...

    OO-6.zip_文件系统 java

    文件系统在计算机科学中扮演着至关重要的角色,它是操作系统的核心组成部分,负责管理和组织存储设备上的数据。...通过分析和理解OO-6.zip中的代码,我们可以学习到如何利用Java来构建实用的文件管理系统。

    设计模式课件大全

    PPT内容包括:内附代码,实例,方便理解。 继承、封装、多态、UML 设计模式02 设计模式03-创建型模式 设计模式04-创建型模式2 设计模式05-建造者、原型模式 ...此PPT实例便于理解,对于深入理解OO思想有很大帮助。

    JAVA学习路线.pdf

    理解OO思想并能够将其应用于实际问题解决,是JAVA开发者的必备能力。 在基础扎实之后,学习和理解JAVA API至关重要。基本API涵盖了诸如字符串操作、I/O流、集合框架等常用功能,开发者需要通过查阅JAVA DOC文档或...

    浅谈java中OO的概念和设计原则(必看)

    OO(面向对象)是Java语言的核心概念,深入理解OO的概念和设计原则是每个Java开发者必备的技能。下面我们将从OO的设计基础、面向对象设计模式、设计目标、设计原则五大方面来浅谈Java中OO的概念和设计原则。 一、OO...

    浪潮java培训ppt

    Java是一种广泛使用的面向对象编程语言,它以其强大的可移植性、高效性和安全性闻名。...通过学习,学员们不仅能够理解OO的基本原理,还能学会如何在实际项目中应用这些知识,从而提高软件开发的质量和效率。

    OOALV常用功能完整简例

    通过学习和理解这些知识点,开发者可以更好地掌握如何在SAP系统中创建和使用面向对象的ALV报表,为用户提供功能丰富、界面友好的报表解决方案。同时,开发者还能够对报表进行个性化定制,以满足企业内部的特定需求,...

    ABAP OOALV学习文档

    ### ABAP OOALV 学习文档详析 ...通过本篇文档的学习,希望读者能够对 ABAP OOALV 报表开发有一个全面的理解,并能够掌握其基本的使用方法。在未来的工作中,这些知识将帮助开发者更高效地完成报表设计任务。

    酒店管理系统

    首先,我们来深入理解OO(面向对象)设计。面向对象编程是一种编程范式,它以“对象”为中心,强调数据和操作数据的方法相结合。在Java中,类是对象的蓝图,它定义了对象的属性和行为。在这个酒店管理系统中,我们...

    软件架构师培训讲义

    9. **提升客户理解度**:即使是不具备编程知识的人员也能理解OO模型,这有助于更好地满足客户需求,提高项目成功率。 ### 面向对象的基本原理 面向对象开发的核心原则包括: 1. **封装**:对象隐藏其内部状态和...

    在ASP中使用Oracle数据库.docx

    总之,在ASP中使用Oracle数据库,开发者需要理解OO4O的工作原理,掌握OraSession、OraDatabase和OraDynaset对象的使用,以及如何通过这些对象来执行SQL语句,从而实现在网页上动态地显示和处理Oracle数据库中的数据...

    SAP ABAP开发学习——第10课:OOALV(视频教程)

    在本课程中,我们将深入探讨SAP ABAP的面向对象技术在ALV(ABAP List Viewer)中的应用,这是SAP ABAP开发学习的第10课,专注于OOALV。这个主题对于任何想要...确保充分利用这些资源,以加深对SAP ABAP和OOALV的理解。

    面向对象编程:C++与Java比较教程 英文版

    这有助于读者理解OO编程的概念和基本原理。 第2章介绍了面向对象编程的基础概念和步骤,为读者理解后续更复杂的概念打下基础。 第3章详细讲述了“类”的概念,这是面向对象编程的核心之一,同时介绍了其他一些关键...

    OO4O简介以及其在VC++中的应用

    为了更好地理解如何使用OO4O进行数据库操作,下面通过一个简单的示例来演示如何在VC++ 6.0中执行SQL查询。 ```cpp #include "oo4orc.h" // 包含OO4O的头文件 // 创建数据库会话 Oo4oSession session; session....

    实战OO的pdf自留备份

    《实战OO》是一本深入探讨面向对象(Object-Oriented, OO)编程技术的书籍,主要针对软件开发人员,特别是那些关注于软件设计流程和优化的开发者。此书的PDF版本是作者或读者为了个人学习和参考而留存的备份,包含了...

    Growing Object-Oriented Software, Guided by Tests, 英文原版, 带完整目录.pdf

    总结来说,本书不仅是一本关于TDD技术的指南,而且也是深入理解OO思想和方法的宝贵资料。它为读者提供了一种独特的测试驱动开发视角,特别强调了端到端的方法和对象消息传递的深入讨论。通过学习本书,读者能够掌握...

    UML2.0培训资料

    - **OO设计原则与模式**:深入理解OO设计的原则,并学习如何应用设计模式来解决常见问题。 - **设计阶段的静态建模**:进一步完善系统的设计,确保系统的稳定性和可维护性。 - **设计阶段的动态建模**:细化系统的...

    ABAP OO的八个理由

    【ABAP OO的八大理由详解】 1. 数据封装与稳定性:ABAP面向对象(OO)编程的核心优势之一是数据封装,它将数据和操作数据的方法捆绑在...因此,理解并掌握ABAP OO的这些理由,对于提升开发效率和软件质量至关重要。

    88oo-partitionexpert2003

    《88oo PartitionExpert 2003:深入解析硬盘分区管理工具》 在计算机领域,硬盘分区是管理和组织硬盘空间的重要方式。88oo PartitionExpert 2003是一款针对个人用户和小型企业的专业分区软件,它为用户提供了一套...

Global site tag (gtag.js) - Google Analytics