欢迎来到天天文库
浏览记录
ID:50029003
大小:625.00 KB
页数:68页
时间:2020-03-07
《Visual C++程序设计教程 教学课件 段智毅 第3章 面向对象程序设计 .ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第3章面向对象程序设计【学习目标】随着信息技术的发展和企业结构的调整,使用传统的面向过程语言开发、管理、维护应用软件变得越来越复杂,越来越困难。面向对象的程序设计技术解决了上述问题。在面向对象程序设计语言里,将数据和处理数据的方法紧密的结合在一起,形成类,将类实例化,就形成了对象。在本章中将向读者介绍C++面向对象的相关知识。通过学习本章,读者可以达到以下学习目的:l理解对象和类的概念l定义并实例化类对象l理解类的继承l掌握类的静态数据成员和静态方法l掌握运算符重载技术课件制作人:宋坤【学习导航】C++语言被认为是C的超集,对C语言的扩展主要体现在面向对象的技术上。本章
2、主要介绍了C++语言中涉及面向对象的基本知识,包括类和对象的定义,类成员的访问,构造函数和析构函数的作用,类的继承,静态数据成员和静态方法,运算符重载等。这些内容是面向对象程序设计最基本的知识,希望读者能够熟练掌握。本章在书中的学习位置如图3-1所示。课件制作人:宋坤【知识框架】本章学习内容知识框架如图3-2所示。课件制作人:宋坤√本章目录3.1类和对象3.2类的继承3.3类的高级方法3.4类模板3.5异常处理3.6课后练习√√√√√课件制作人:宋坤3.1类和对象面向对象最大的特征就是提出了类和对象的概念。在以面向对象的方式开发应用程序时,将遇到的各种事物抽象为类,类中
3、包含数据和操作数据的方法,用户通过实例化类对象来访问类中的数据和方法。本节将介绍有关类和对象的相关知识。深入理解类和对象类的定义类的实例化——对象类成员的访问类成员的保护构造函数析构函数this指针√√√√√√√√课件制作人:宋坤深入理解类和对象世界中的各种事物,如花、鸟、鱼、虫,都有自己的特征。花具有美丽的色彩,鸟具有一对翅膀……这些事物也都有自己的行为,花能够生长,鸟能够鸣叫,鱼能够游动……在面向对象程序设计中,将事物的特征和行为组织在一起,便形成了类。在类中,事物的特征被描述为数据成员,行为被描述为方法。课件制作人:宋坤类的定义声明一个类,需要使用关键字class
4、,其后是类名,类名后是一个“{”号,而后是数据成员和方法,结尾是“}”号和分号。下面声明一个CDog类,包含两个数据成员和一个方法。classCDog{//数据成员unsignedintm_Age;unsignedintm_Weight;//方法voidyelp();};在声明CDog时,并没有为其分配内存。它只是告诉编译器CDog包含哪些数据成员和方法,CDog占用多少内存空间。课件制作人:宋坤类的实例化——对象对象是类的实例化。在声明一个类时,并没有为其分配内存空间,只有在实例化一个对象时,才为对象分配空间。声明一个对象和声明一个整型变量类似。下面声明了一个整型变量
5、i和一个CDog类对象mydog。inti;CDogmydog;//声明一个对象课件制作人:宋坤类成员的访问在定义一个类的对象之后,就可以通过对象访问类的成员了。在对象之后使用“.”运算符访问类成员。下面的代码演示了如何设置mydog的a_Age成员变量,如何调用mydog的yelp方法。mydog.m_Age=2;mydog.yelp();课件制作人:宋坤类成员的保护在类的声明时,类的成员(数据和方法)具有安全级别。常用的安全级别有public、private、protected。默认情况下,类的成员为私有的(private),私有成员只能在类本身的方法内访问,类的对
6、象不能够访问私有成员,并且私有成员不能够被派生类继承。共有成员(public)能够被类的所有对象访问,能够被派生类继承。保护成员(protected)不能够被对象访问,但能够被派生类继承。在类外部不能访问私有成员和保护成员,只能访问共有成员。下面的代码定义了一个CDog类,在该类中定义一个私有成员变量m_Age和一个受保护的成员变量m_Weight,在main函数中访问CDog对象的m_Age和m_Weight成员时,将出现编译错误。classCDog{//私有成员unsignedintm_Age;protected://保护成员unsignedintm_Weight;
7、};intmain(intargc,char*argv[]){CDogmydog;mydog.m_Age=2;//错误,不能访问私有成员mydog.m_Weight=10;//错误,不能访问保护成员return0;}课件制作人:宋坤构造函数在建立一个对象时,常常需要对对象进行初始化,为了进行初始化工作,C++提供了一个特殊的成员函数——构造函数(constructor)。构造函数是一个与类名相同的方法,可以根据需要设置参数,但不具有返回值,甚至空值也不行。如果在声明类时,没有提供构造函数,编译器会提供一个默认的构造函数,默认构造函数没有参
此文档下载收益归作者所有