c++第3讲类的定义与实现(封装)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
private: int Hour,Minute,Second;
抽象实例——人
数据抽象:
char *name,char *gender,int age,int id
方法抽象:
生物属性角度: GetCloth(), Eat(), Step(),…
社会属性角度: Work(), Promote() ,…
private:
int Hour, Minute, Second;
};
成员数据
类的定义(续)
成员访问限制符号对其后续成员均有效,直到遇到下一 个成员访问限制符号;
紧跟在类名称的后面的成员,没有访问限制符号注明的 话,均为私有成员;
从程序的角度而言
随时随地可以访问的是类的公有成员; 类的私有成员则只能在类的成员函数中被访问; 类的保护成员可以被类及其派生类的成员函数中被访问。
• 公有成员
• private:
• 私有成员
• protected:
• 保护成员
};
封装
将抽象出的数据成员、代码成员相结合,将它们 视为一个整体。
目的是曾强安全性和简化编程,使用者不必了解具体的 实现细节,而只需要通过外部接口,以特定的访问权限, 来使用类的成员。 实现封装:类声明中的{}
封装
实例:
C++面向对象程序设计
第三章:类和对象
本章主要内容
类的定义和实现(封装)
对象 构造函数与拷贝构造函数 析构函数 内联成员函数 对象数组与对象指针
string类 静态成员 友元 类的组合 常类型
抽象
对具体实体(对象)进行概括,抽取一类对象的公共属性和行为。
注意本质,围绕重点,抓住共性 ——》属性和行为 属性:数据抽象,某类对象的属性或状态(对象相互区别的特征)
}
一个实验
设计并实现一个日期类,可以
日期是由日期和时间组成的一个对象 日期设定、时间设定、日期时间设定 求两日期间的天数 求一个日期X天后的日期 输出日期(格式:yyyy-mm-dd hh:nn:ss) 利用重载为使用提供更多的日期和时间设定功能
构造函数
构造函数的作用是在对象被创建时使用特定的值构 造对象,或者说将对象初始化为一个特定的状态。
}
对象
类的对象是该类的某一特定实体,即类类型的变量。
声明形式: 类名
对象名;
例:
Clock myClock;
类中成员的访问方式
类中成员互访
直接使用成员名
类外访问
使用“对象名.成员名”方式访问 public 属性的成员
类的Байду номын сангаас用——钟表
#include "Clock.h"
int main() { Clock c1; c1.SetTime(14,20,30); c1.ShowTime(); c1.SetTime(8,2,30); c1.ShowTime(); c1.SetTime(8,2,3); c1.ShowTime(); return 0;
class Clock
{
外部接口
public:
void SetTime(int NewH,int NewM,int NewS); void ShowTime();
private: int Hour,Minute,Second;
};
特定的访问权限
边界
类的成员
class Clock
成员函数
{
public: void SetTime(int NewH, int NewM, int NewS); void ShowTime();
类定义(封装) 类的属性和行为的访问限制
限制数据成员和函数成员的访问权限
公有 public • 完全公开的属性和行为
私有 private • 个体专属的属性和行为
保护 protected • 家族私有的属性和行为
类的定义
类是一种用户自定义的数据类型 声明形式
class 类名称 {
• public:
属性的值域,属性的名称
行为:方法抽象,某类对象的行为特征或具有的功能
行为或功能的标识,有别于其他行为或功能(行为或功能的名称) 行为或功能可接收的信息(值域,名称) 行为或功能的结果,有新的信息产生(值域)
抽象的实例
钟表
属性 • 时(0-23)、分(0-59)、秒(0-59)
行为 • 设定时间(时、分、秒) • 显示时间()
抽象实例——钟表
数据抽象:
int Hour, int Minute, int Second
方法抽象:
SetTime(), ShowTime()
抽象实例——钟表类
class {
};
Clock
public: void SetTime(int NewH, int NewM, int NewS); void ShowTime();
void Clock::SetTime(int h, int m, int s) { hour = h; minute = m; second = s;
} void Clock::ShowTime() {
std::cout << hour << ":" << std::setw(2) << std::setfill('0') << minute << ":" << std::setw(2) << std::setfill('0') << second << std::endl;
类定义(封装)
• Clock • 数据成员 • char hour; 0-23 • char minute; 0-59 • char second; 0-59 • 函数成员 • void SetTime(char, char ,char) • void ShowTime()
• Clock • 数据成员 • int hour; 0-23 • int minute; 0-59 • int second; 0-59 • 函数成员 • void SetTime(int, int, int) • void ShowTime()
类定义实例——钟表
class Clock { private:
int hour; int minute; int second; public: void SetTime(int h, int m, int s); void ShowTime(); };
类的实现——钟表
#include "Clock.h” #include <iostream> #include <iomanip>
相关文档
最新文档