欢迎来到天天文库
浏览记录
ID:34543492
大小:338.28 KB
页数:57页
时间:2019-03-07
《03-classes_objects》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、类与对象面向对象程序设计基础111主要内容面向对象的程序设计C++的类与对象类的定义成员构造函数析构函数222面向对象的程序设计333面向过程与面向对象面向对象程序设计(OOP)ObjectOrientedProgramming目前一种主流程序设计方法C++是混合编程语言C++保持与C相兼容既支持面向对象程序设计方法,也支持面向过程程序设计方法,是一种混合编程语言。444面向过程程序设计方法机制首先定义所要实现的功能然后为这些功能设计所必要的步骤或过程解决问题的重点是如何实现过程的细节数据与操作这些数据的过程分离围绕功
2、能(过程或操作)实现来设计程序采用自顶向下(瀑布式的流程),功能分解法采用逐步求精的方法来组织程序的结构程序组成形式——主模块+子模块它们之间以数据作为连接纽带程序=算法+数据结构数据处于次要的地位,而过程是关心的重点555面向过程程序设计方法缺点:数据与操作这些数据的过程分离,一旦问题改变(数据结构发生变化),就需要重新修改问题的解决方法(操作数据的过程)软件维护成本高不利于代码重用(re-use)以函数(功能、过程)的方式实现代码重用,效率低理想的方式:问题的解决方案能够重用不适于中大型、巨型软件程序设计666面向对象程序设
3、计面向对象概念是一种解决问题的方法或观点认为自然界是由一组彼此相关联并相互作用(通信)的实体所组成,称为对象(Object)对象化的表示更接近于对世界的自然描述程序员使用面向对象的观点来分析问题将所要解决的问题转化为程序中的对象——任何问题在程序中都被映射为对象找出问题的属性(数据描述)与操作方法(通过函数来体现)然后用计算机语言来描述问题,最后在计算机中加以处理777以“人”为例:每一个“人”的个体都是“人类”的一个实例(对象)每一个“人”有自己的属性姓名、年龄、职业、...个体之间存在着各种关系个体之间能够相互作用(操作):
4、交谈、合作、...888面向对象程序设计程序设计程序员在解决问题时应具有高度的概括、抽象能力根据自然实体(待解决的问题)的属性进行分类和抽象准确描述实体类的属性和行为对问题进行分析和抽象,使用程序设计语言中的类和类之间的关系来描述待解决的问题及其相关性对类进行具体化,产生出对应的问题对象,以消息传递的机制来组织对象之间的相互作用和操作程序组成形式:对象+消息对象与对象之间通过消息作为连接相互驱动对象的行为(操作)体现为对消息的处理方式对象(问题)之间的关系是编程关心的重点,而对象功能实现细节则处于次要的地位,并且通常被封装999面向对
5、象程序设计面向对象程序设计的优越性提高软件质量:实现数据与方法的封装,通过方法来操作改变数据,提高了数据访问的安全性易于软件维护支持软件重用,大大提高软件生产的效率实现可重用的软件组件,实现软件设计的产业化由于程序是类的集合从而可以根据问题的相关性来组装程序而面向过程程序设计则是函数的集合,零散不便于代码重用101010总结:面向过程与面向对象面向过程的程序设计Program=Algorithms+DataStructures问题求解的方法:向过程传递数据面向对象的程序设计问题求解的方法:向对象发送消息面向过程的程序设计语言与面
6、向对象的程序设计语言Modula-2、Ada支持数据隐藏和数据封装C++、Java支持数据隐藏和数据封装支持继承和多态、支持重用111111OOP基本手段——抽象对具体问题(对象)进行分类概括,提取出这一类对象的共同性质并且加以描述的过程。编程的要求:先注意问题的本质及描述,其次是实现过程或细节。它直接决定程序的优劣——类的定义及组成元素;所涉及到的主要内容:数据抽象(属性)——描述某类对象的属性或状态(对象相互区别的物理量);行为抽象(方法)——描述某类对象的共有的行为特征或具有的功能。抽象的实现:在C++中通过类class来声
7、明121212OOP基本手段——抽象例:对现实中钟表类的抽象属性抽象:所有钟表都具有以下属性intHour;intMinute;intSecond;行为(操作)抽象:钟表对外(其他对象)体现的行为SetTime(intHour,intMinute,intSecond);ShowTime();注:钟表内部的如何保证准确的时间是钟表内部实现的细节,使用钟表功能的外部对象并不关心这些细节在OOP中,这些细节也是次要的131313OOP基本手段——抽象例:对人的抽象得到“人类”属性抽象char*name;intage;intid;...行为的抽象:
8、Eat();Speak();Work();...141414OOP基本手段——封
此文档下载收益归作者所有
点击更多查看相关文章~~