欢迎来到天天文库
浏览记录
ID:40841763
大小:369.81 KB
页数:108页
时间:2019-08-08
《C高级编程一v1.2暗影行者》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++高级编程(一)联航精英训练营关于对象汇编,C,C++,C#经常一起吃饭。有一天汇编和C突然没来。C#问C++,他俩呢?C++说,他俩都没对象,去过光棍节去了。从SP到OOP传统的结构化程序设计传统的结构化程序设计(StructuredProgramming---SP)方法在数据处理过程中,采用的是自顶向下、分而治之的方法,将整个程序按功能划分为几个可独立编程的子过程模块,每一子模块完成指定的子任务,并且提供一个清晰、严格的调用界面,主过程通过调用各子过程完来成全部处理工作。数据声明数据处理结果输出SP方法的特点优点:(1)这种程序设计方法力求算法描述准确。
2、(2)对每一子过程模块容易进行程序正确性证明。缺点:(1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。(2)程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。(3)维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。面向对象的程序设计面向对象的程序设计(Object-OrientedProgramming----OOP)方法面向对象的有关概念面向对象的程序设计方法强调直接以问题域(现实世界)中
3、的事物为中心来思考和认识问题,并按照这些事物的本质特征把它们抽象为对象,以作为构成软件系统的基础。面向对象的有关概念(1)对象(Object):每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。(2)类(Class):具有相似属性和行为的一组对象,就称为类。可见,有了类的概念以后,就可以对具有共同特征的事物进行统一描述。(3)封装(Encapsulation):封装把对象的属性和方
4、法看成了一个密不可分的整体,从而使对象能够完整地描述并对应于一个具体事物。(4)继承(Inheritance):将客观事物进行归类是一个逐步抽象的过程,反之,将类进行层层分类便是一个概念逐渐细化的过程。面向对象的有关概念(5)消息(Message):在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。(6)多态性(Polymorphism):多态性是面向对象的另一重要特征。在通过继承
5、而派生出的一系列类中,可能存在一些名称相同,但实现过程和功能不同的方法(Method)。类类(Class)定义了一件事物的抽象特点。通常来说,类定义了事物的属性和它可以做到的(它的行为)。类狗开始私有成员:孕育毛皮颜色公有成员:吠叫()结束对象对象(Object)是类的实例。定义莱丝是狗莱丝.毛皮颜色:=棕白色莱丝.吠叫()方法方法(Method)是一个类能做的事情,但方法并没有去做这件事。定义莱丝是狗定义泰尔是狗莱丝.吠叫()消息传递机制一个对象通过接受消息、处理消息、传出消息或使用其他类的方法来实现一定功能,这叫做消息传递机制(MessagePassing)
6、。继承性继承性(Inheritance)是指,在某种情况下,一个类会有“子类”。类牧羊犬:继承狗定义莱丝是牧羊犬莱丝.吠叫()/*注意这里调用的是狗这个类的吠叫属性。*/————————————————————————————————类吉娃娃犬:继承狗开始公有成员:颤抖()结束类牧羊犬:继承狗定义莱丝是牧羊犬莱丝.颤抖()/*错误:颤抖是吉娃娃犬的成员方法。*/封装性具备封装性(Encapsulation)的面向对象程序设计隐藏了某一方法的具体执行步骤,取而代之的是通过消息传递机制传送消息给它。/*一个面向过程的程序会这样写:*/定义莱丝莱丝.设置音调(5)莱丝
7、.吸气()莱丝.吐气()/*而当狗的吠叫被封装到类中,任何人都可以简单地使用:*/定义莱丝是狗莱丝.吠叫()多态性多态性(Polymorphism)指方法在不同的类中调用可以实现的不同结果。OOP方法的特点(1)OOP以“对象”或“数据”为中心。由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。(2)引入了“类”(class)的概念。类与类以层次结构组织,属于某个类的对象除具有该类所描述的特性外,还具有层次结构中该类上层所有类描
8、述的全部性质,OOP中称
此文档下载收益归作者所有