01 面向对象程序设计基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

面向对象程序设计李贻涛电气工程学院ElectricalEngineeringInstituteofNEDU22020年1月20日星期一考核方式编程大作业:50分大作业答辩:15分平时成绩:35分根据作业完成情况和软件使用熟练度评定成绩补考:开卷考试,基础知识选择、填空Tel:13674328067QQ:747097920电气工程学院ElectricalEngineeringInstituteofNEDU32020年1月20日星期一主要内容面向对象程序设计基础理论VisualBasic程序设计我们这门课不讲建立对象模型的方法学,而是讲解一种具体的编程语言,通过编程实例加强对面向对象程序设计的认识。UML(UnifiedModelingLanguage)统一建模语言电气工程学院ElectricalEngineeringInstituteofNEDU42020年1月20日星期一程序设计方法的发展1.初期的程序设计高运行效率、少占用内存为目标3.面向对象的程序设计降低程序的复杂性、提高软件的开发效率和改善工作界面为目标2.结构化程序设计程序的可读性、可维护性为目标程序=算法+数据结构程序=对象+消息课程介绍电气工程学院ElectricalEngineeringInstituteofNEDU52020年1月20日星期一课程介绍面向对象概念从20世纪60年代提出至今,已发展成为一种比较成熟的编程思想,并且逐步成为目前软件开发领域的主流技术。这种技术从根本上改变了人们以往设计软件的思维方式,它的基本概念是对象和类,集抽象性、封装性、继承性和多态性于一体,实现了代码重用(重用性)和代码扩充(可维护性),极大地减少了软件开发的复杂性,提高了软件开发的效率。电气工程学院ElectricalEngineeringInstituteofNEDU62020年1月20日星期一第一章面向对象程序设计基础1.1面向过程程序设计简介面向过程是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。floatCircle(floatr){floats;s=pi*r*r;returns;}例如:求圆的面积这是一个子程序函数过程电气工程学院ElectricalEngineeringInstituteofNEDU72020年1月20日星期一第一章面向对象程序设计基础floatCircle(floatr){floats;s=pi*r*r;returns;}过程:一个具有输入输出,完成单一功能的程序块。面向过程的程序设计工作主要围绕设计解题过程来进行1...2...3...repeat电气工程学院ElectricalEngineeringInstituteofNEDU82020年1月20日星期一第一章面向对象程序设计基础floatCircle(floatr){floats;s=pi*r*r;returns;}面向过程的程序定义程序=数据结构+算法算法与数据是分开的电气工程学院ElectricalEngineeringInstituteofNEDU92020年1月20日星期一第一章面向对象程序设计基础编程:扫雪1.获得学生总人数及应清雪总面积2.求每个人应负责面积3.按负责面积分块4.安排一个同学扫雪(学号、分块号)5.重复第4步,直到所有应清雪面积安排完毕电气工程学院ElectricalEngineeringInstituteofNEDU102020年1月20日星期一从人的角度,编程第一章面向对象程序设计基础1.获得每个二级单位的学生人数及应清雪总面积2.按比例求每个二级单位应负责面积3.按负责面积分块4.下发任务给某二级单位5.重复第4步,直到所有应清雪面积安排完毕电气工程学院ElectricalEngineeringInstituteofNEDU112020年1月20日星期一第一章面向对象程序设计基础这就是面向对象编程的方法。学校、各学院、班级都是对象对象内部既含有数据,也含有程序对象=数据结构+算法学校.清雪这个方法包含了上述程序电气学院.清雪面积这个属性为应清雪面积电气学院.清雪这个方法下达任务给各班电自933.清雪这个方法下达具体任务到个人电气工程学院ElectricalEngineeringInstituteofNEDU122020年1月20日星期一第一章面向对象程序设计基础缺点2:数据不易于管理(修改维护极其困难)在面向过程结构化系统中,数据分散于各个过程中,而对同一数据的处理可能存在于很多过程中,以致对一处数据的更改甚至可能牵连整个系统。例如2000年问题,在这个例子中简单地给日期添加一些数字会对面向过程的软件产生灾难性的后果。缺点1:除了一些通用过程(函数)外代码几乎无法重用面向过程程序设计的缺点电气工程学院ElectricalEngineeringInstituteofNEDU132020年1月20日星期一第一章面向对象程序设计基础缺点3:用户难以控制运行用户必须输入完系统所需的所有信息,系统才会运行。而系统一旦接管下面所有的过程,如计算,输出等等,用户就失去了对系统的控制权,直到系统输出完毕。面向过程程序设计的缺点电气工程学院ElectricalEngineeringInstituteofNEDU142020年1月20日星期一第一章面向对象程序设计基础总之,面向过程可以说是人在适应机器,是人按照机器工作的方式来处理问题,面向过程编程的主要任务是编写子程序。相反,面向对象可以说是人按照自己的思维方式来处理问题了,而面向对象编程的主要任务将是编写类。例如,关于圆的问题...电气工程学院ElectricalEngineeringInstituteofNEDU152020年1月20日星期一第一章面向对象程序设计基础属性PosXPosYRadiusBorderStyle方法Circle类getArea()getLength()Draw()……Visible……分析圆应该有的属性和方法,并用UML表示;属性:圆心坐标、半径、线型…方法:计算面积、周长、绘制…DimC1asnewCirclex=C1.PosX可得到圆的初始值C1.PosX=5按需要给属性赋值S=C1.getArea得到圆面积电气工程学院ElectricalEngineeringInstituteofNEDU162020年1月20日星期一第一章面向对象程序设计基础1.2面向对象程序设计简介面向对象(Object-Oriented,OO)面向对象是在对真实系统建模的基础上的一个软件开发方法。面向对象的程序由对象和消息组成让我们理解这些术语...程序=对象+类+继承+消息面向对象程序设计思想的核心就是模拟人类习惯的解题方法将对象分解,编程人员的主要任务就是实现这些具有特定功能的对象。电气工程学院ElectricalEngineeringInstituteofNEDU172020年1月20日星期一第一章面向对象程序设计基础对象对象是现实世界中实际存在的一个事物如:一本书、一台电脑、一个人对象具有:(1)属性:状态和静态特征----用数据表示例如人的姓名、性别、年龄、体重...(2)方法:动态行为----用程序代码表示例如人的行走、吃饭、睡觉...电气工程学院ElectricalEngineeringInstituteofNEDU182020年1月20日星期一第一章面向对象程序设计基础类在现实世界中,“类”是对一组具有共同的属性特征和行为特征的对象的抽象。人类鸟类鱼类在面向对象程序设计中,“类”是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。Circle类电气工程学院ElectricalEngineeringInstituteofNEDU192020年1月20日星期一第一章面向对象程序设计基础实例实例就是由某个类在赋予了一定的属性之后所生成的一个具体对象类中包含生成对象的具体方法例如某人和其他人区别开来,作为一个对象时要定义其姓名、年龄、籍贯、居住地...电气工程学院ElectricalEngineeringInstituteofNEDU202020年1月20日星期一第一章面向对象程序设计基础类和对象之间的关系是抽象和具体的关系。类是对多个对象进行综合抽象的结果,对象是类的一个实例。在现实中类是不真正存在的,而对象是存在的。现实和计算机中都是对对象进行操作。收银员对象姓名:布兰尼职衔:收银员年龄:35体重:60千克操作:收款打印帐单收银员类电气工程学院ElectricalEngineeringInstituteofNEDU212020年1月20日星期一第一章面向对象程序设计基础封装数据封装:将数据和处理数据的方法包装成一个整体,并将具体实现细节的数据信息和操作方法在结构上隐藏起来。信息隐藏:将一个模块的细节部分对用户隐藏起来,用户只能通过一个受保护的接口来访问某个模块,而不能直接访问一个模块内部的细节。对象是一个属性和方法的封装体。电气工程学院ElectricalEngineeringInstituteofNEDU222020年1月20日星期一第一章面向对象程序设计基础继承继承将客观世界中一般和特殊的关系模型化为层次结构,提供了创建新类的一种方法,它的本质特征是行为共享。人小学生中学生大学生研究生工人学生教师农民助教讲师教授研究生对象实例:研究生王平人身份证号码:字符串(18位)姓名:字符串(20位)学生学校名称:字符串(30位)学号:字符串(12位)研究生专业:字符串(30位)入学年月日:结构类型Date作为“人”身份证码:420153199517042520姓名:王平作为“学生”学校名称:中南民族大学学号:090701022作为“研究生”专业:自动控制入学年月日:1/9/2009继承类电气工程学院ElectricalEngineeringInstituteofNEDU242020年1月20日星期一第一章面向对象程序设计基础消息消息指一个对象为执行某项特定操作而向另一个对象发送的请求消息传递当需要执行一项特定操作时,通过向已为其定义此项操作的对象发送消息来请求对象之间通过传递消息实现相互通信消息传递机制面向过程程序设计面向对象程序设计参数f1()返回值过程1参数f2()返回值过程2参数f3()返回值过程3数据1数据2数据3数据4数据5消息1MF2对象1MF4MF3MF2MF1对象2MF4MF3MF1消息2电气工程学院ElectricalEngineeringInstituteofNEDU262020年1月20日星期一第一章面向对象程序设计基础1.3面向对象编程语言简介混合型面向对象程序设计语言C++C++是AT&TBell实验室的BjarneStroustrup博士于20世纪80年代早期提出的,是迄今为止商业上最受欢迎的混合型面向对象程序设计语言。同时支持面向对象和面向过程;C++兼容了C语言并弥补了其缺陷,保留了面向过程程序设计方法,增加了面向对象的能力,支持面向对象程序设计的方法。电气工程学院ElectricalEngineeringInstituteofNEDU272020年1月20日星期一第一章面向对象程序设计基础1.3面向对象编程语言简介C++版本:许多软件公司都为C++设计了编译系统,如AT&T、Apple、Sun、Borland和Microsoft等,国内最为流行的是BorlandC++和VisualC++。同时,许多大学和公司也在为C++编写各种不同的类库,其中Borland公司的OWL(ObjectWindowsLibrary)和Microsoft公司的MFC(MicrosoftFoundationClass)是优秀的代表作,尤其是MFC在国内外都得到了广泛应用。电气工程学院ElectricalEngineeringInstituteofNEDU282020年1月20日星期一第一章面向对象程序设计基础1.3面向对象编程语言简介纯

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功