如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
面向对象程序设计与C++1.面向过程与面向对象面向过程语言以过程(procedure)为基本模块,若干相关模块组成大模块.面向过程程序设计采用自顶向下设计(top-downdesign):将复杂的问题分解成若子问题,子问题可以再进行分解,直到各子问题都比较容易解决.生产一辆汽车,可将整个生产过程分解为:生产底盘生产引擎生产动力传动系统组装检测配件和整车软件设计是用计算机语言对现实世界的抽象和模拟.面向对象方法追求软件系统对现实世界的直接模拟,使设计更加贴近现实世界.对象(object)是一个系统的基本组成元素.类(class)是同一类型所有对象的集合抽象,一个类就是一种抽象数据类型.现实世界每个具体事务(客观存在)都可以看作是一个对象.一个人,一台电脑一场球赛,一个班级每个对象都具有自己的特性(属性).人的姓名,年龄,身高等.电脑的品牌,价格等每个对象都具有自己的行为.人吃放,学习等电脑的开机,关机等对象=特性(属性)+行为特定对象之间存在某种关系一个班级包含若干学生(belongto)一个学生拥有一台或多台电脑(hasa)(一个)学生是(一个)人(isa)对象之间相互作用老师让学生交作业学生启动机器面向对象程序设计2.类的封装性类通常将接口(函数集合)提供给用户,而将具体实现细节进行隐藏.C++中使用public和private关键字来进行访问控制,public用于提供类的接口,private隐藏类的实现细节.classstudent{private:charStudentID[64];//学号voidEat();public:char*GetStudentID();voidStudy();};当一个数据类型仅暴露其公有接口,而将其私有实现隐藏,则称这个数据类型是抽象的.C++中的一个类就是一种抽象数据类型,将类所提供的功能以公有成员函数的形式封装,而将具体实现隐藏.抽象数据类型使得用户不需要了解具体实现细节,可以提高程序的可靠性和健壮性.示例程序:03_01.面向对象系统中,对象之间通过消息传递来进行协作.一个完整的消息包含:消息名和消息参数消息的发送者和接收者C++语言中,消息的传递体现为类成员函数的调用.intmain(){ofstreamout;out.open(“test.dat”);return0;}面向对象三大基本特性:封装性继承性多态性引入继承性和多态性,可描述特定类之间的一种包含关系,使之形成层次结构。继承性ClassHumen{protected:charname[64];intage;voidSleep();voidEat();};classStudent:publicHumen{protected:charstudentID[64];public:voidStudy();};多态性指不同的对象收到相同的消息时产生不同的动作.C++语言中多态性体现为:具有继承关系的不同层次的类中,可以有相同名的函数,其实现方法各不相同.熟练掌握多态是成为C++高手的最重要条件.5.面向对象语言6.面向对象系统建模对象模型类--&--对象之间的关系可分为:归纳(继承)关系(isa):一般—特殊的关系组合关系(belongto):整体—部分的关系关联关系(hasa):相互依赖,相互作用的关系类图ER图动态模型状态图功能模型