时间紧张,先记一笔,后续优化与完善。

面向对象(Object Oriented,OO)是前当计算机界关怀的重点,它是90年代件软发开方法的主流。面向对象的观点和应用已超出了程序筹划和件软发开,扩展到很宽的围范。如数据库统系、交互式界面、应用结构、应用平台、分布式统系、网络管理结构、CAD术技、人工智能等范畴。

定义

面向对象是一种对实现天下解理和象抽的方法,是计算机编程术技开展到定一阶段后的产品。期早的计算机编程是基于面向进程的方法,例如实现算术运算1+1+2 = 4,通过筹划一个算法以可就处理时当的问题。随着计算机术技的不断高提,计算机被用于处理越来越庞杂的问题。通过面向对象的式方,将实现天下的物象抽成对象,实现天下中的关系象抽成类、 承继,帮助人们实现对实现天下的 象抽与字数建模。通过面向对象的方法,更利于人解理的式方对于庞杂统系的行进分析、筹划与编程。同时,面向对象能有效高提 编程的效率,通过封装术技,息消制机可以像搭积木的一样倏地发开出一个全新的统系。
首先根据户客求需 象抽出 务业对象;然后对求需行进理合分层,构建绝对独立的务业模块;后之筹划务业逻辑,利用 态多、 承继、 封装、象抽的编程想思,实现务业求需;最后通过整合各模块,到达 高内聚、低耦合的果效,从而足满户客要求。
面向 对象的观点详细要求的定确,各自有各自的解理。
象抽别级
象抽是人类处理问题的基本宝法。好良的 象抽策略可以控制问题的庞杂度程,增强统系的通用性和 可扩展性。 象抽要重含包进程象抽和数据象抽。 结构化筹划方法应用的是进程 象抽。所谓进程 象抽是将问题域中有具明白功能定义的操纵抽取出来,并将其作为一个实体对待。种这 象抽别级对于件软统系结构的筹划显得有些果断,并且稳定性差,致使很难准确无误地筹划出统系的个一每操纵环节。一旦某个 客体性属的示表式方发生了化变,就有可能牵扯到已有统系的很多部份。而数据 象抽是较进程象抽更高别级的象抽式方,将描述 客体的性属和行为定绑在一起,实现一统的象抽,从而到达对实现天下客体的真正 模拟。
封装体
封装是指将实现天下中存在的某个 客体的性属与行为定绑在一起,并放置在一个逻辑单元内。该逻辑单元担任将所描述的性属藏隐起来,外界对 客体外部性属的全部问访只能通过供提的 户用接口实现。这样做既可以实现对 客体性属的掩护用作,又可以高提 件软统系的可维护性。只要户用接口不转变,任何 封装体外部的转变都不会对 件软统系的其他部份形成影响。 结构化筹划方法没有做到 客体的体整 封装,只是封装了各个 功能模块,而个一每功能模块可以随便地对没有掩护力能客体性属施实操纵,并且由于描述性属的数据与行为被分割开来,所以一旦某个客体性属的抒发式方发生了化变,或某个行为果效发生了转变,就有可能对个整统系发生影响。
基本观点
⑴ 对象。
对象是人们要行进研讨的任何事物,从最单简的整数到庞杂的飞机等都可看做对象,它不仅能示表详细的事物,还能示表 象抽的规矩、筹划或事件。
⑵ 对象的态状和行为。
对象有具态状,一个对象用数据值来描述它的态状。
对象还有操纵,用于转变对象的态状,对象及其操纵就是对象的行为。
对象实现了数据和操纵的结合,使数据和操纵 封装于对象的一统体中
⑶ 类。
有具同相特性( 数据元素)和行为(功能)的 对象的 象抽就是类。因此, 对象的 象抽是类,类的详细化就是对象,也可以说类的例实是对象,类现实上就是一种 数据型类。
类有具性属,它是 对象的态状的 象抽,用 数据结构来描述类的性属。
类有具操纵,它是 对象的行为的 象抽,用操纵名和实现该操纵的方法来描述。
⑷类的结构。
在客观天下中有多少类,这些类之间有定一的结构关系。平日有两种要重的结构关系,即一般--详细结构关系,体整--部份结构关系。
①一般--详细结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
②体整--部份结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。
⑸息消和方法。
对象之间行进通信的结构叫做息消。在 对象的操纵中,当一个息消发送给某个对象时,息消含包收接对象去行执某种操纵的信息。发送一条息消最少要含包说明接受息消的 对象名、发送给该对象的息消名(即对象名、方法名)。一般还要对参数加以说明,参数可是以意识该息消的 对象所道知的 变量名,或者是全部对象都道知的全局 变量名。
类中操纵的实现进程叫做方法,一个方法无方法名、返回值、参数、方法体。

特性

每日一道理
风,那么轻柔,带动着小树、小草一起翩翩起舞,当一阵清风飘来,如同母亲的手轻轻抚摸自己的脸庞,我喜欢那种感觉,带有丝丝凉意,让人心旷神怡。享受生活,不定一要有山珍海味、菱罗绸缎为伴,大自然便是上帝所赐予人类最为珍贵的。
⑴ 对象一唯性。
个一每 对象都有自身一唯的识标,通过种这识标,可找到应相的 对象。在 对象的个整命生期中,它的识标都不转变,不同的对象不能有同相的识标。
⑵ 象抽性。
象抽性是指将有具致一的 数据结构(性属)和行为(操纵)的对象 象抽成类。一个类就是这样一种 象抽,它反应了与应用有关的要重质性,而略忽其他一些关无内容。任何类的分别都是观主的,但必须与详细的应用有关。
⑶ 承继性。
承继性是子类主动享共父类 数据结构和方法的制机,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已存在的类的础基之上来行进,把这个已存在的类所定义的内容作为自己的内容,并入加多少新的内容。
承继性是 面向对象程序筹划语言不同于其它语言的最要重的点特,是其他语言所没有的。
在类层次中,子类只 承继一个父类的 数据结构和方法,则称为单重承继。
在类层次中,子类 承继了多个父类的 数据结构和方法,则称为 多重承继。
在前目的主流语言中,C++支撑 多重承继,JAVA、VB.  NET、Objective-C均仅支撑单承继,注意在C++多重承继时,需当心二义性。
在 件软发开中,类的 承继性使所立建的件软有具开放性、可扩充性,这是信息织组与分类的卓有成效的方法,它简化了 对象、类的建创任务量,增加了码代的可重用性。
用采 承继性,供提了类的范规的品级结构。通过类的 承继关系,使共公的特性够能享共,高提了件软的重用性。
⑷ 态多性(多形性)
态多性是指同相的操纵或函数、进程可用作于多种型类的 对象上并取得不同的结果。不同的 对象,收到一统息消可以发生不同的结果,种这景象称为 态多性。
态多性许允个一每 对象以合适自身的式方去响应同共的息消。
态多性增强了件软的灵活性和重用性。

要素

⑴象抽。
象抽是指夸大实体的实质、在内的性属。在统系发开中, 象抽指的是在定决如何实现 对象之前的对象的义意和行为。应用 象抽可以尽可能防止过早虑考一些细节。
类实现了 对象的数据(即态状)和行为的 象抽。
⑵ 封装性( 信息藏隐)。
封装性是保障件软部件有具优秀的模块性的础基。
面向 对象的类是 封装好良的模块,类定义将其说明(户用可见的外部接口)与实现(户用可不见的外部实现)显式地开分,其外部实现按其详细定义的 用作域供提掩护。
对象是 封装的最基本位单。 封装防止了程序互相依赖性而带来的动变影响。面向 对象的 封装比传统语言的封装更为清晰、更为无力。
⑶享共性
面向对象术技在不同别级上促进了享共
一统类中的享共。一统类中的 对象有着同相 数据结构。这些 对象之间是结构、行为征特的享共关系。
在一统应用中享共。在一统应用的 类层次结构中,存在 承继关系的各相似子类中,存在 数据结构和行为的承继,使各相似子类享共同共的结构和行为。应用 承继来实现码代的享共,这也是面向 对象的要重点优之一。
在不同应用中享共。面向 对象不仅许允在一统应用中享共信息,而且为未来目标的可重用筹划备准了条件。通过库类种这制机和结构来实现不同应用中的信息享共。
⒋夸大对象结构而不是程序结构

发开方法

前目,面向 对象发开方法的研讨已趋日成熟,国际上已有不少面向 对象产品现出。面向 对象发开方法有Coad方法、Booch方法和OMT方法等。
⒈Booch方法
Booch最早描述了面向对象的 件软发开方法的础基问题,指出面向对象发开是一种本根不同于传统的功能分解的筹划方法。面向 对象的件软分解更接近人对客观事务的解理,而功能分解只通过问题空间的转换来取得。
⒉Coad方法
Coad方法是1989年Coad和Yourdon提出的面向 对象发开方法。该方法的要重点优是通过多年来大统系发开的教训与面向 对象观点的机有结合,在对象、结构、性属和操纵的认定方面,提出了一套统系的准则。该方法完成了从求需角度进一步行进类和 类层次结构的认定。尽管Coad方法没有引入类和 类层次结构的语术,但事实上已在分类结构、性属、操纵、息消关联等观点中表现了类和类层次结构的征特。
⒊OMT方法
OMT方法是1991年由James Rumbaugh等5人提出来的,其经典著作为“面向 对象的建模与筹划”。
该方法是一种新兴的面向 对象的发开方法,发开任务的础基是对真实天下的对象建模,然后环绕这些对象应用分析模型来行进独立于语言的筹划,面向对象的建模和筹划促进了对求需的解理,有利于发开得更清晰、更易容维护的 件软统系。该方法为大多数应用范畴的 件软发开供提了一种现实的、高效的保障,尽力追求一种问题求解的现实方法。
⒋ UML(Unified Modeling Language)语言
件软工程范畴在1995年~1997年取得了史无前例的展进,其结果超越件软工程范畴从前15年的就成总和,其中最要重的结果之一就是 一统建模语言(UML)的现出。UML将是 面向对象术技范畴内占主导地位的 标准建模语言。
UML不仅一统了Booch方法、OMT方法、OOSE方法的示表方法,而且对其作了进一步的开展,终最一统为众大接受的 标准建模语言。UML是一种定义好良、易于抒发、功能强大且广泛实用的 建模语言。它融入了 件软工程范畴的新想思、新方法和新术技。它的用作域不限于支撑面向 对象的分析与筹划,还支撑从 求需分析开始的件软发开全进程。

文章结束给大家分享下程序员的一些笑话语录: 人脑与电脑的相同点和不同点,人脑会记忆数字,电脑也会记忆数字;人脑会记忆程序,电脑也会记忆程序,但是人脑具有感知能力,这种能力电脑无法模仿,人的记忆会影响到人做任何事情,但是电脑只有程序软件。比尔还表示,人脑与电脑之间最重要的一个差别就是潜意识。对于人脑存储记忆的特别之处,比尔表示,人脑并不大,但是人脑重要的功能是联络,人脑会把同样的记忆存储在不同的地方,因此记忆读取的速度就不相同,而这种速度取决于使用的频率和知识的重要性。人脑的记忆存储能力会随着年龄增长而退化,同时记忆的质量也会随着年龄退化。经典语录网

对象类什么是面向对象(1)相关推荐

  1. 1~22(面向编程+ES6中的类和对象+类的继承+面向对象版tab栏切换)

    1 面向对象编程介绍 1.1 两大编程思想 面向过程 面向对象 1.2 面向过程编程POP(Process-oriented programming) 面向过程就是分析出解决问题所需要的步骤,然后用函 ...

  2. JAVA类思维_面向对象思维 Java中的类和对象及其应用

    一.面向过程与面向对象 面向过程: 从事务执行者的角度思考问题,我该干什么  重点在过程----事务流程 面向对象: 从事务的指挥者角度思考问题,我应该找谁干什么  重点在对象 面向对象的优点: 1. ...

  3. 【Java开发语言 03】第三章 面向对象编程(面向对象与面向过程+类和对象+类成员一:属性+类成员二:方法+对象的创建和使用+封装和隐藏+构造器+关键字this,package,import)

    面向对象编程 1 面向对象与面向过程 1.1 java类及类的成员 2 java语言的基本元素:类和对象 2.1 类的语法格式 2.2 创建Java自定义类 2.3 对象的创建及使用 3 类的成员之一 ...

  4. python面向对象类属性_python面向对象之类属性和类方法案例分析

    本文实例讲述了python面向对象之类属性和类方法.分享给大家供大家参考,具体如下: 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发, ...

  5. 怎样用uml类图生成java类_JAVA:面向对象编程的底层逻辑,深度剖析

    什么是面向对象 在目前的软件开发领域有两种主流的开发方法,分别是结构化开发方法和面向对象开发方法.早期的编程语言如C.Basic.Pascal等都是结构化编程语言,随着软件开发技术的逐渐发展,人们发现 ...

  6. php对象比较大小,PHP 面向对象:对象的比较

    简明现代魔法 -> PHP服务器脚本 -> PHP 面向对象:对象的比较 PHP 面向对象:对象的比较 2010-04-07 在PHP中有 = 赋值符号.== 等于符号 和 === 全等于 ...

  7. python 对象_Python小课堂面向对象

    Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触 ...

  8. uml边界类例子_面向对象UML笔记

    配套课程:中国大学MOOC 华东师范大学 面向对象设计与分析 UML概念模型 最重要的五种图:用例图,类图,顺序图,活动图,状态图 四种关系:关联关系,实现关系,依赖关系,继承关系 常见图例 用例图 ...

  9. 【设计模式从青铜到王者】第二篇:UML类图与面向对象编程

    系列文章目录 文章目录 系列文章目录 前言 一.设计概念 二.对象和类 三.类层次结构 四.面向对象程序设计基础概念 1.抽象 2.封装 3.继承 4.多态 5.对象之间的关系 总结 前言 一.设计概 ...

最新文章

  1. 组态王浏览器java_1工程浏览器是组态王的集成开发环境在这里可以
  2. 怀卡托大学硕士计算机科学,2020年怀卡托大学研究生一般几年毕业
  3. python图像分类代码_python实现支持向量机遥感图像分类
  4. SecureCRT日志上添加时间戳
  5. kafaka可视化工具
  6. 取二维数组最大值_学习Java,你必需要知道这些——Java数组
  7. springMVC的controller单例和多例下成员变量的问题
  8. Tkinter实现模拟鼠标单击四位数字验证码自动刷新功能
  9. STM32菜鸟成长记录---RS485通讯协议的应用
  10. 百度地图绘制自定义区域
  11. 强化学习笔记一 N-armed bandit Problem
  12. jsp text 水印_java实现图片上加文字水印(SpringMVC + Jsp)
  13. 基于STM32F407的人脸追踪
  14. 多智能体系统编队算法仿真--python3实现
  15. Datadome 最新逆向分析(支持爱马仕)
  16. Ajax传递数组乱码,layUI批量删除时乱码
  17. (四)比较好用的几个翻译软件
  18. java的开发工具是什么_java都用什么开发工具
  19. 2015人大计算机复试线,清华、北大、人大、公布2015年考研复试线
  20. UVA 12563 Jin Ge Jin Qu hao(多阶段决策问题,DP)

热门文章

  1. Java读写文件,中文乱码解决
  2. 向下钻取按钮位置设置
  3. 那些在学习iOS开发前就应该知道的事(part 1)
  4. 小小一招巧解任何电脑的开机密码,无需任何工具,无需放电
  5. windows系统中的常用网络命令
  6. sed替换每行最后一个字符
  7. 由浅入深理解java集合(二)——集合 Set
  8. 解决由于DNS解析导致Emacs启动巨慢的问题
  9. linux下mysql修改root密码
  10. CentOS下安装JDK1.7