C语言程序设计PPT推荐.ppt
- 文档编号:14304931
- 上传时间:2022-10-21
- 格式:PPT
- 页数:53
- 大小:1.17MB
C语言程序设计PPT推荐.ppt
《C语言程序设计PPT推荐.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计PPT推荐.ppt(53页珍藏版)》请在冰豆网上搜索。
模块内部的实现细节与外界隔离。
沈洋南京航空航天大学,6,面向对象领域中的一些常用术语,Object对象(Instance实例)Class类Attribute属性Operation操作(Method方法),Encapsulation封装Inheritance继承Polymorphism多态Message消息OOA面向对象分析OOD面向对象设计,沈洋南京航空航天大学,7,10.3对象和类,对象(Object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。
一个对象由一组属性和对这组属性进行操作的一组方法组成。
沈洋南京航空航天大学,8,说明:
对象只描述客观事物本质的、与系统目标有关的特征,而不考虑那些非本质的、与系统目标无关的特征。
在软件生命周期的不同阶段,对象可以有不同的表现形式。
如在OOA/OOD阶段对象是用某种表示法给出的比较粗略的定义,而在OOP阶段对象是比较详细的源程序代码。
对象之间通过消息通信。
一个对象通过向另一个对象发送消息激活某一个功能。
在不是纯面向对象语言中允许有不属于任何对象的成分存在,例如C+程序中的main函数。
“实例”(instance)和“对象”的关系,沈洋南京航空航天大学,9,类(Class),类是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分。
沈洋南京航空航天大学,10,说明同类对象具有相同的属性和方法,是指它们的定义形式相同,而不是说每个对象的属性值都相同。
类是静态的;
类的存在、语义和关系在程序执行前就已经定义好了。
对象是动态的;
对象在程序执行时可以被创建和删除。
沈洋南京航空航天大学,11,鸭子:
类那只红嘴巴的鸭子:
对象,自行车:
类老王的自行车:
对象,沈洋南京航空航天大学,12,类的示例,类:
Employee,类名,属性,方法,沈洋南京航空航天大学,13,10.4例子:
Fraction类,Fraction类是我们在第11章要设计出的一个类该类维护了任意两个整数的比值,因此它可以“绝对”精确地表示分数,这点即使double也做不到,沈洋南京航空航天大学,14,Fraction类的使用情况介绍,当Fraction类被定义好后,我们可以1.使用该类声明对象Fractiona,b,c;
2.还可以在声明对象时调用构造函数Fractiona(1,2);
/a=1/23.Fraction类还支持/及流操作符Fractiona(1,2);
Fractionb(1,3);
Fractionc=a+b;
coutc;
/打印5/6,沈洋南京航空航天大学,15,10.5对象的构造和析构,我们把它留到11章再讨论,沈洋南京航空航天大学,16,10.6继承(Inheritance),特殊类的对象拥有其一般类的全部属性与方法,称作特殊类对一般类的继承。
(一般类/特殊类;
父类/子类;
超类/子类;
基类/派生类等是相同的概念。
),沈洋南京航空航天大学,17,说明:
继承保证类之间的一致性父类可以为所有子类定制规则;
利用继承可以开发更贴近现实的模型继承增加软件重用的机会降低开发和维护费用子类可以继承父类的属性,也可以增加或重新定义继承的属性。
子类可以继承父类的操作,也可以增加或重新定义继承的操作(重新定义称为override)override(覆盖)和overload(重载)的区别。
沈洋南京航空航天大学,18,override的例子,classAprivate:
stringname;
public:
stringgetValues()return“Valueis:
”+name;
classB:
publicAprivate:
stringaddress;
stringgetValues(inta)return“Valueis:
”+address;
沈洋南京航空航天大学,19,10.710.8接口和多态,接口(interface)是对抽象类(abstractclass)的另一种称呼,在这种类中只定义了函数的原型,但没有定义函数的实现每个继承自接口的子类都必须实现在接口中定义的函数接口是实现多态(Polymorphism)的一种方式,沈洋南京航空航天大学,20,多态(Polymorphism),从字面上理解,多态就是有多种形态的意思。
在面向对象技术中,多态指的是使一个实体在不同的上下文条件下具有不同意义或用法的能力。
多态是保证系统有较好的适应性的一个重要手段,也是用OO技术所表现出来的一个重要特征。
沈洋南京航空航天大学,21,多态的例子,沈洋南京航空航天大学,22,消息(Message),消息就是向对象发出的服务请求,它包含下述信息:
提供服务的对象标识、服务(方法)标识、输入信息和回答信息。
沈洋南京航空航天大学,23,说明:
通过消息进行对象之间的通信,是OO方法的一个原则。
采用消息这个术语的好处(而不是函数调用):
第一,更接近人们日常思维所采用的术语;
第二,其涵义更具有一般性,不限制采用何种实现技术。
如在分布式环境中,对象可以在不同的网络结点上实现并且相互提供服务,在这种情况下,消息术语具有更强的适应性。
沈洋南京航空航天大学,24,一个引导我们入门的例子,使用对象、类和UML解决问题,沈洋南京航空航天大学,25,曹操,孫權,Environment,話說三國演義,OOAD適用於社會組織分析,(Domain)西蜀,沈洋南京航空航天大学,26,曹操,孫權,Environment,劉備,關羽,孔明,張飛,赤壁之戰,其它流程,(Domain)西蜀,曹操進兵引發西蜀的流程,誰來執行流程呢?
沈洋南京航空航天大学,27,OOAD最關心流程與元件,1.描述流程(劇情)-分析,赤壁之戰,其它流程,2.安排主/配角(元件)演出-設計,劉備,關羽,孔明,張飛,沈洋南京航空航天大学,28,OOAD最主要的工具,UML,(UnifiedModelingLanguage),OMG認可的世界標準1997,沈洋南京航空航天大学,29,為什麼需要UML呢?
貝多芬作曲時使用五線譜,您設計軟體時使用UML,沈洋南京航空航天大学,30,UseCase敘述,曹操舉兵南下,西蜀就擬定策略,展開佈署,並連絡孫權,鼎力對抗曹操大軍.,曹操,赤壁之戰,孫權,西蜀,把西蜀看成黑箱!
準備打開西蜀黑箱,沈洋南京航空航天大学,31,Scenario敘述,曹操,赤壁之戰,孫權,把西蜀黑箱打開!
劉備,關羽,孔明,張飛,沈洋南京航空航天大学,32,Scenario敘述,曹操,赤壁之戰,孫權,劉備,關羽,孔明,張飛,曹操舉兵南下,劉備請孔明擬定策略.派遣關羽和張飛防守荊州,同時請孔明連絡孫權,共同對抗曹操.孔明聯合孫權,借東風,火燒曹軍於赤壁.,沈洋南京航空航天大学,33,Scenario敘述,使用UML表示之,沈洋南京航空航天大学,34,Scenario敘述,劉備,孔明,關羽,求戰,請擬策略,張飛,請防守荊州,請防守荊州前線,孫權,曹操,請聯絡孫權,請孫權領兵相助,借東風火攻,火攻曹軍,沈洋南京航空航天大学,35,劉備的責任?
劉備,求戰,請擬策略,請防守荊州,請聯絡孫權,我必需迎戰曹操!
沈洋南京航空航天大学,36,使用UML表示-類別圖,劉備,求戰,劉備,迎戰曹操,迎戰曹操,迎戰曹操,迎戰曹操,迎戰曹操,迎戰曹操,沈洋南京航空航天大学,37,使用UML表示,孔明,請擬策略,請聯絡孫權,請孫權領兵相助,借東風火攻,火攻曹軍,孔明,擬定策略,聯合孫權,借東風火攻,沈洋南京航空航天大学,38,使用UML表示,關羽,張飛,請防守荊州,請防守荊州前線,關羽,防守荊州,張飛,防守荊州前線,沈洋南京航空航天大学,39,關羽,防守荊州,張飛,防守荊州前線,劉備,迎戰曹操,孔明,擬定策略,聯合孫權,借東風火攻,UML的Class圖,您已熟悉UseCaseSequence圖Class圖,現在準備進入OOP階段,沈洋南京航空航天大学,40,3.認識OOP,OOP階段的任務:
-銜接OOAD的工作,-從UML到VisualBasic,-從VisualBasic到COM元件,沈洋南京航空航天大学,41,使用VisualBasic,劉備,迎戰曹操,寫VB程式,Class劉備Sub迎戰曹操()EndSub,沈洋南京航空航天大学,42,孔明,擬定策略,聯合孫權,借東風火攻,使用VisualBasic,寫VB程式,Class孔明Function擬定策略()EndFunctionSub聯合孫權()EndSubSub借東風火攻()EndSub,沈洋南京航空航天大学,43,Class劉備Sub迎戰曹操()EndSub,使用VisualBasic,Class孔明Function擬定策略()EndFunctionSub聯合孫權()EndSubSub借東風火攻()EndSub,Class關羽Sub防守荊州()EndSub,Class張飛Sub防守前線()EndSub,依樣畫葫蘆,準備填寫Sub內容,沈洋南京航空航天大学,44,寫VB程式內容,劉備,求戰,請擬定策略,請防守荊州,請聯絡孫權,寫VB程式,Class劉備DimkAsNew孔明DimgasNew關羽Sub迎戰曹操()k.擬定策略g.防守荊州k.聯合孫權EndSub,沈洋南京航空航天大学,45,寫VB程式內容,孔明,請擬定策略,請聯絡孫權,請孫權領兵相助,借東風火攻,借東風火攻,寫VB程式,Class孔明DimsAs孫權Function擬定策略()EndFunctionSub聯合孫權()s.請領兵相助s.借東風火攻EndSubSub借東風火攻()EndSub,沈洋南京航空航天大学,46,寫VB程式碼,Class劉備DimkAsNew孔明DimgasNew關羽Sub迎戰曹操()k.擬定策略g.防守荊州k.聯合孫權EndSub,Class孔明DimsAs孫權Function擬定策略()EndFunctionSub聯合孫權()s.請領兵相助s.借東風火攻EndSubSub借東風火攻()EndSub,沈洋南京航空航天大学,47,高先生用VB,我们用Java,沈洋南京航空航天大学,48,publicclassLiuBeipublicvo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计