




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章面向对象简单程序设计,地球科学与测绘工程学院,VisualC+程序设计2012,主要内容,1面向对象程序设计的基本思想2类和对象3成员变量与成员函数4C+的程序结构5类的封装性与访问权限,1面向对象程序设计的基本思想,回顾C+语言从C语言发展而来。C语言是面向过程的程序设计的代表C+语言是面向对象的程序设计的代表面向对象语言程序设计的优势对于规模比较小的程序,开发人员可以直接编写出一个面向过程的程序,详细地描述每一瞬时的数据结构及对其的操作过程。但是当程序规模较大时,就显得力不从心了。C+就是为了解决编写大程序过程中的困难而产生的,1面向对象程序设计的基本思想,面向对象思想产生示例:生产汽车时先分别设计和制造各个配件最后把它们组装在一起。在组装时,各部分之间有一定的联系,以便协调工作程序设计面向对象的程序设计的思路和人们日常生活中处理问题的思路是相似的。在自然世界和社会生活中,一个复杂的事物总是由许多部分组成的。,1面向对象程序设计的基本思想,面向对象程序设计的主要特点1)对象2)封装与信息隐蔽3)抽象4)继承与重用5)多态性贯穿整个C+程序设计整个过程,1面向对象程序设计的基本思想,1)对象客观世界中任何一个事物都可以看成一个对象(object)对象可大可小对象是构成系统的基本单位2)抽象抽象的过程是将有关事物的共性归纳、集中的过程抽象的内容是组成这类事物共同的属性和功能抽象的作用是表示同一类事物的本质抽象的结果是类型(类)例子:C和C+中的数据类型就是对一批具体的数的抽象,1面向对象程序设计的基本思想,3)封装与信息隐蔽封装是将一类对象的属性和功能再组装,对象类型更加接近自然封装同时对部分属性和功能对外界屏蔽,数据信息更加安全比如人类型都有年龄、性别等信息。具体到一个对象有些信息可以直接获取、有些则不行。不能直接直接获取的需要这个对象通过其他途径来提供4)继承与重用体现复用思想,降低了重复性工作主要是对类型进行扩展,体现父类型和子类型之间的关系子类型可以直接获取父类型提供的属性和功能,又就有子类型新内容该特点是面向对象的最大优势之一子类型对象可以表现为父类型形式,反之不行,1面向对象程序设计的基本思想,5)多态性继承机制的设计代价如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作。这种情况就是多态现象。继承机制的设计代价转化成了面向对象程序设计语言的优势“一种接口,多种实现”机制,少林派类型,行为:表演功夫,行为:表演功夫,少林派类型对象A洪拳派类型对象B展现时:1)对象A和对象B都可表现为少林派类型2)对象B如何执行行为“表演功夫”?,1面向对象程序设计的基本思想,面向对象程序设计面对的是:一个个对象面向对象程序设计的任务包括两个方面:一是抽象封装,设计所需的各种类型(称为类),即决定把哪些数据和操作封装在一起;二是使用类型,定义对象,考虑怎样向有关对象发送消息,以完成所需的任务。各个对象的操作完成了,整体任务也就完成了,主要内容,1面向对象程序设计的基本思想2类和对象3成员变量与成员函数4C+的程序结构5类的封装性与访问权限,2类和对象,定义类在C+中对象的类型称为类(class)类代表了某一批对象的共性和特征对象对象是类的具体实例(instance),2类和对象,关系在C+中类是自己定义的一个类类型,然后用它去定义若干这个类型的对象。对象就是类型的一个变量。类是抽象的,不占用内存,而对象是具体的,占用存储空间。C/C+语言基本类型,inta=1;int类型名,关键字,说明一种已经定义的基本类型,只是一种书写代码记号。a变量在计算机为1,内存中同理,如果A是定义的一个类Aa;A是类型a是变量称之为对象,类A的具体实例(instance),2类和对象,C+代码书写定义类关键字:class书写格式:class类名+大括号;类名的要求:所有C+命名自定义规则一致:数字英文字母和_构成,但是数字不能最前面大小写敏感非关键字定义类:对象对象是类的具体实例(instance)定义:类名变量对象名;,classShaolinClass;,ShaolinClassA3;ShaolinClass3A;ShaolinClass*A;,2类和对象,从上面可以看出相对于C语言等,C+等面向对象语言允许自定义复杂类型,可以实现更加复杂程序设计以及快速设计,因为自定义类型接近自然更好理解。这也是C+能够提高软件开发效率的原因之一规定:变量称为对象,自定义复杂类型称为类,主要内容,1面向对象程序设计的基本思想2类和对象3成员变量与成员函数4C+的程序结构5类的封装性与访问权限,3成员变量和成员函数,封装将一类对象的属性和功能进行封装以及屏蔽。比如人都有年龄、身高等信息,这些是对对象进行信息说明的,这些信息称为属性。表现在类的内容上称为成员变量或者成员属性;比如各武术派侠客具有一些行为,是对类的功能性说明。在程序设计中表现为函数,称之为成员函数属性和行为从类型上定义都是一样的,但是对于具体对象,他们的值和行为展示是不一样的,少林派类型ShaolinClass,行为:表演功夫,行为:表演功夫,classShaolinClass成员变量成员函数;,3成员变量和成员函数,1成员变量的申明类型名变量名;类型名包括基本类型和已经定义的类变量名的命名和上述变量要求一致规则不能在类的定义内赋值,分号不可少赋值在函数内或者对象调用实现,少林派类型ShaolinClass,classAdress;classShaolinClass/成员变量intage;char20name;Adressadress;;,classShaolinClass/成员变量int3age;错误intage=10;错误REALage3;错误Adressadress;;,3成员变量和成员函数,2成员函数的申明特点:成员函数是一种特殊的函数,属于类,在之间成员函数的申明、实现和普通的函数没有区别申明方法:返回类型函数名(形式参数表);类型名包括基本类型和已经定义的类函数名的命名和上述变量要求一致返回类型不能省略?(VisualC+2005以后规定)形式参数表:类型名【变量名】,类型名【变量名】,【】表示可省略,少林派类型ShaolinClass,classShaolinClass/成员变量intage;char20name;/成员函数voidShow();intHowOld1(inta,charh);intHowOld2(int);;,3成员变量和成员函数,3成员函数的实现实现函数具体功能书写有两种方法:1、在类外返回类型类名:函数名(形式参数表)要求:函数必须在类中已经申明函数名和形式参数表要一致形式参数表:类型名变量名,类型名变量名,但变量名不可省略,少林派类型ShaolinClass,classShaolinClass/成员变量intage;/成员函数申明voidShow(int);;,/成员函数实现voidShaolinClass:Show(inta)age=a;,3成员变量和成员函数,4成员函数的实现实现函数具体功能书写有两种方法:2、在类内返回类型函数名(形式参数表);要求:匹配且有分号形式参数表形式参数表:类型名变量名,类型名变量名,但变量名不可省略,少林派类型ShaolinClass,classShaolinClass/成员变量intage;/成员函数申明voidShow(int);;,classShaolinClass/成员变量intage;/成员函数申明并且实现voidShaolinClass:Show(inta)age=a;;,3成员变量和成员函数,5成员变量和成员函数的使用调用一般是在函数实现体内在类的成员函数调用本类自己的成员变量和成员函数直接使用在类的外部使用对象名.成员变量名对象名.成员函数(实际参数表).表示调用其属性和功能如果对象是指针类型.变为-,少林派类型ShaolinClass,classShaolinClass/成员变量intage;/成员函数申明voidShow(int);;,/成员的使用类自己函数内voidShaolinClass:Show(inta)age=a+1;Show(age);,/成员的使用类外部ShaolinClassperpon1;perpon1.age=31;inta=perpon1.age;perpon1.Show(a);,主要内容,1面向对象程序设计的基本思想2类和对象3成员变量与成员函数4C+的程序结构5类的封装性与访问权限,4C+的程序结构,传统的面向过程程序设计是围绕功能进行的,用一个函数实现一个功能。所有的数据都是公用的,一个函数可以使用任何一组数据,而一组数据又能被多个函数所使用。,4C+的程序结构,一个完整的简单实例程序如下:#include/包含头文件iostreamusingnamespacestd;/使用命名空间stdIntmain()cout/包含头文件iostreamusingnamespacestd;/使用命名空间std,#include/包含头文件iostreamusingna
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 认购返利合同模板8篇
- 租房转租合同模板6篇
- 理货员岗位安全培训课件
- 迪庆木栈道工程方案(3篇)
- 玖龙纸业岗位安全培训课件
- 猫造型雕塑专业知识培训课件
- 德利矿业年产400万吨氧化钙、70万吨炼钢专用石项目(二期工程)环境影响报告表
- 防盗工程门加工方案(3篇)
- 狼崖山五壮士课件
- 顶梁美化改造工程方案(3篇)
- 血常规室内质控模板
- Welcome+unit +and+Expressions+单词讲解课件 【知识精讲精研】高中英语人教版必修第一册
- GB/T 43950-2024工业浓盐水回用技术导则
- 2024年出租车网约车司机从业资格证考试题库附参考答案【模拟题】
- “1+X”幼儿照护技能等级证书(中级)考试题库(多选、判断题)
- T-CUWA 20059-2022 城镇供水管网模型构建与应用技术规程
- 火电厂检修培训课件
- 核医学医学影像医技科室质量评估细则
- 观看《中国乒乓之绝地反击》观后感600字三篇
- YY/T 0698.5-2023最终灭菌医疗器械包装材料第5部分:透气材料与塑料膜组成的可密封组合袋和卷材要求和试验方法
- 小学生班干部竞选PPT模板
评论
0/150
提交评论