面向对象思想与程序设计.ppt

上传人:牧羊曲112 文档编号:6066719 上传时间:2023-09-19 格式:PPT 页数:25 大小:753KB
返回 下载 相关 举报
面向对象思想与程序设计.ppt_第1页
第1页 / 共25页
面向对象思想与程序设计.ppt_第2页
第2页 / 共25页
面向对象思想与程序设计.ppt_第3页
第3页 / 共25页
面向对象思想与程序设计.ppt_第4页
第4页 / 共25页
面向对象思想与程序设计.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《面向对象思想与程序设计.ppt》由会员分享,可在线阅读,更多相关《面向对象思想与程序设计.ppt(25页珍藏版)》请在三一办公上搜索。

1、第二章 面向对象简单程序设计,地球科学与测绘工程学院,Visual C+程序设计 2012,主要内容,1 面向对象程序设计的基本思想2 类和对象3 成员变量与成员函数4 C+的程序结构5 类的封装性与访问权限,1 面向对象程序设计的基本思想,回顾C+语言从C语言发展而来。C语言是面向过程的程序设计的代表C+语言是面向对象的程序设计的代表面向对象语言程序设计的优势对于规模比较小的程序,开发人员可以直接编写出一个面向过程的程序,详细地描述每一瞬时的数据结构及对其的操作过程。但是当程序规模较大时,就显得力不从心了。C+就是为了解决编写大程序过程中的困难而产生的,1 面向对象程序设计的基本思想,面向对

2、象思想产生示例:生产汽车时 先分别设计和制造各个配件 最后把它们组装在一起。在组装时,各部分之间有一定的联系,以便协调工作程序设计面向对象的程序设计的思路和人们日常生活中处理问题的思路是相似的。在自然世界和社会生活中,一个复杂的事物总是由许多部分组成的。,1 面向对象程序设计的基本思想,面向对象程序设计的主要特点 1)对象 2)封装与信息隐蔽 3)抽象 4)继承与重用 5)多态性 贯穿整个C+程序设计整个过程,1 面向对象程序设计的基本思想,1)对象客观世界中任何一个事物都可以看成一个对象(object)对象可大可小对象是构成系统的基本单位2)抽象 抽象的过程是将有关事物的共性归纳、集中的过程

3、抽象的内容是组成这类事物共同的属性和功能抽象的作用是表示同一类事物的本质抽象的结果是类型(类)例子:C和C+中的数据类型就是对一批具体的数的抽象,1 面向对象程序设计的基本思想,3)封装与信息隐蔽 封装是将一类对象的属性和功能再组装,对象类型更加接近自然封装同时对部分属性和功能对外界屏蔽,数据信息更加安全比如人类型都有年龄、性别等信息。具体到一个对象有些信息可以直接获取、有些则不行。不能直接直接获取的需要这个对象通过其他途径来提供4)继承与重用 体现复用思想,降低了重复性工作主要是对类型进行扩展,体现父类型和子类型之间的关系子类型可以直接获取父类型提供的属性和功能,又就有子类型新内容该特点是面

4、向对象的最大优势之一子类型对象可以表现为父类型形式,反之不行,1 面向对象程序设计的基本思想,5)多态性 继承机制的设计代价如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作。这种情况就是多态现象。继承机制的设计代价转化成了面向对象程序设计语言的优势“一种接口,多种实现”机制,少林派类型,行为:表演功夫,行为:表演功夫,少林派类型 对象A洪拳派类型 对象B展现时:1)对象A和对象B都可表现为少林派类型 2)对象B如何执行行为“表演功夫”?,1 面向对象程序设计的基本思想,面向对象程序设计面对的是:一个个对象面向对象程序设计的任务包括两

5、个方面:一是抽象封装,设计所需的各种类型(称为类),即决定把哪些数据和操作封装在一起;二是使用类型,定义对象,考虑怎样向有关对象发送消息,以完成所需的任务。各个对象的操作完成了,整体任务也就完成了,主要内容,1 面向对象程序设计的基本思想2 类和对象3 成员变量与成员函数4 C+的程序结构5 类的封装性与访问权限,2 类和对象,定义类在C+中对象的类型称为类(class)类代表了某一批对象的共性和特征对象对象是类的具体实例(instance),2 类和对象,关系在C+中类是自己定义的一个类类型,然后用它去定义若干这个类型的对象。对象就是类型的一个变量。类是抽象的,不占用内存,而对象是具体的,占

6、用存储空间。C/C+语言基本类型,int a=1;int 类型名,关键字,说明一种已经定义的基本类型,只是一种书写代码记号。a 变量 在计算机为1,内存中同理,如果A是定义的一个类 A a;A是类型 a是变量 称之为对象,类A的具体实例(instance),2 类和对象,C+代码书写定义类关键字:class书写格式:class 类名+大括号;类名的要求:所有C+命名自定义规则一致:数字 英文字母和_构成,但是数字不能最前面 大小写敏感 非关键字定义类:对象对象是类的具体实例(instance)定义:类名 变量对象名;,class ShaolinClass;,ShaolinClass A3;Sh

7、aolinClass 3A;ShaolinClass*A;,2 类和对象,从上面可以看出 相对于C语言等,C+等面向对象语言允许自定义复杂类型,可以实现更加复杂程序设计以及快速设计,因为自定义类型接近自然更好理解。这也是C+能够提高软件开发效率的原因之一规定:变量称为对象,自定义复杂类型称为类,主要内容,1 面向对象程序设计的基本思想2 类和对象3 成员变量与成员函数4 C+的程序结构5 类的封装性与访问权限,3 成员变量和成员函数,封装将一类对象的属性和功能进行封装以及屏蔽。比如人都有年龄、身高等信息,这些是对对象进行信息说明的,这些信息称为属性。表现在类的内容上称为成员变量或者成员属性;比

8、如各武术派侠客具有一些行为,是对类的功能性说明。在程序设计中表现为函数,称之为成员函数属性和行为从类型上定义都是一样的,但是对于具体对象,他们的值和行为展示是不一样的,少林派类型ShaolinClass,行为:表演功夫,行为:表演功夫,class ShaolinClass 成员变量 成员函数;,3 成员变量和成员函数,1 成员变量的申明类型名 变量名;类型名包括基本类型和已经定义的类 变量名的命名和上述变量要求一致规则不能在类的定义内赋值,分号不可少赋值在函数内或者对象调用实现,少林派类型ShaolinClass,class Adress;class ShaolinClass/成员变量 int

9、 age;char20 name;Adress adress;;,class ShaolinClass/成员变量 int 3age;错误 int age=10;错误 REAL age3;错误 Adress adress;;,3 成员变量和成员函数,2 成员函数的申明 特点:成员函数是一种特殊的函数,属于类,在之间成员函数的申明、实现和普通的函数没有区别 申明方法:返回类型 函数名(形式参数表);类型名包括基本类型和已经定义的类 函数名的命名和上述变量要求一致 返回类型不能省略?(Visual C+2005以后规定)形式参数表:类型名【变量名】,类型名【变量名】,【】表示可省略,少林派类型Sha

10、olinClass,class ShaolinClass/成员变量 int age;char20 name;/成员函数 void Show();int HowOld1(int a,char h);int HowOld2(int);;,3 成员变量和成员函数,3 成员函数的实现实现函数具体功能书写有两种方法:1、在类外 返回类型 类名:函数名(形式参数表)要求:函数必须在类中已经申明 函数名和形式参数表要一致 形式参数表:类型名 变量名,类型名 变量名,但变量名不可省略,少林派类型ShaolinClass,class ShaolinClass/成员变量 int age;/成员函数申明 void

11、Show(int);;,/成员函数实现 void ShaolinClass:Show(int a)age=a;,3 成员变量和成员函数,4 成员函数的实现实现函数具体功能书写有两种方法:2、在类内 返回类型 函数名(形式参数表);要求:匹配且有分号形式参数表 形式参数表:类型名 变量名,类型名 变量名,但变量名不可省略,少林派类型ShaolinClass,class ShaolinClass/成员变量 int age;/成员函数申明 void Show(int);;,class ShaolinClass/成员变量 int age;/成员函数申明并且实现 void ShaolinClass:Sh

12、ow(int a)age=a;;,3 成员变量和成员函数,5 成员变量和成员函数的使用调用一般是在函数实现体内在类的成员函数调用本类自己的成员变量和成员函数直接使用在类的外部使用 对象名.成员变量名 对象名.成员函数(实际参数表).表示调用其属性和功能如果对象是指针类型.变为-,少林派类型ShaolinClass,class ShaolinClass/成员变量 int age;/成员函数申明 void Show(int);;,/成员的使用类自己函数内 void ShaolinClass:Show(int a)age=a+1;Show(age);,/成员的使用类外部 ShaolinClass p

13、erpon1;perpon1.age=31;int a=perpon1.age;perpon1.Show(a);,主要内容,1 面向对象程序设计的基本思想2 类和对象3 成员变量与成员函数4 C+的程序结构5 类的封装性与访问权限,4 C+的程序结构,传统的面向过程程序设计是围绕功能进行的,用一个函数实现一个功能。所有的数据都是公用的,一个函数可以使用任何一组数据,而一组数据又能被多个函数所使用。,4 C+的程序结构,一个完整的简单实例程序如下:#include/包含头文件iostreamusingnamespacestd;/使用命名空间stdInt main()cout/包含头文件iostreamusingnamespacestd;/使用命名空间std,#include/包含头文件iostreamusing namespace std;/使用命名空间stdclass YongChunPersonPublic:int age;String name;void Show();int HowOld();;Void YongChunPerson:Show()coutname秀了咏春拳!;,int main()YongChunPerson obj;Obj.name=”叶问”;Obj.Show();return0;,叶问秀了咏春拳!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号