0202面向对象和类的概述.ppt
文本预览下载声明
第八章 类和数据抽象(1);主要内容: ;重点:;8.1 面向对象的基本概念;例8-1 学籍管理系统是由学生、教师、课程、各种
规章制度等多个对象集合而成的。学生、教师、
课程等实体之间存在着各种关联, 例如学生选择
课程,老师讲授课程等等。研究生、本科生、专
科生和学生之间的关系是“一般化”关系。 ;2. 面向对象的本质 ;3 对象;2)对象的定义;4. 对象类;注意:抽象是分类的依据,也即分类一定要满足“一般化”这一基本要求 。;2)类的定义 ;3)类和对象的关系 ;8.2 对象类的主要性质 ; 2. 封装 ; 2)定义 ;3. 继承 ;2)定义 ;4. 多态性 ;;2)多态性的定义;8.2 定义类和对象; 在任何数据处理系统中,文件都是十分重要的实体,一个文件由以下两部分组成:;class File
{
FILE *fp;
……
public:
File(const char *name, const char *open_mode);
~File();
size_t read(const size_t howmany,
const size_t elem_size, void *buffer);
size_t write(const size_t howmany,
const size_t elem_size, const void *buffer);
};2.类的语法 ;3. 访问说明符;注意:通常将类定义放在头文件中。
;4.类和结构的比较; 保护部分数据成员的目的在于将它们有效地屏蔽,以防外界的干扰和误操作,增强适应性。;class Time
{
private:
int hour; //0-23
int minute; //0-59
int minute; //0-59
public:
Time(); //构造函数
void SetTime(int,int,int);
void DisplayTime12 (void);
void DisplayTime24 (void);
};
;例8-8 建立图形的基类。 ;解释:;7.声明对象 ;1)分析;//**********p9-1.cpp *******************
include “Tsavings.h”
void main()
{
Savings s1,s1;
s1.deposit(100.5);
s2.deposit(200.5);
};某种标识是指:;(1)数据成员的全名;注意: ;例8-9 全局数据和全局函数的引用示例。;2.在类中定义成员函数 ;(1)分析 ; public:
void set(int m,int d,int y) //设置日期
{
month=m; day=d; year=y;
}
int IsLeapYear() //判断是否为闰年
{
if (year %4 ==0 year % 100!=0)
return(1);
else
if (year % 400 ==0)
return(1);
else
return(0);
}; void Print() //输出日期
{
cout month / day / year endl;
};
};?
void main( )
{
Tdate date;
int month,day,year;
? cout 输入日期:月、日、年;
cin month day year;
date. set(month,day,year);
date.Print();
if (date.IsLeapYear()) cout 闰年;
else cout 不是闰年;
} ;(3)程序说明;3.在类的外部定义成员函数 ;(2)可以由独立软件供应商(ISV)提供类库进
显示全部