网站大量收购独家精品文档,联系QQ:2885784924

面向对象 - 第三章.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 类与对象的构造设计 本章的学习内容 学习和掌握类的定义方法和对象的创建方法。 学习和掌握类的成员访问权限控制方法。 学习和掌握构造函数与析构函数的用法 学习和掌握类的封装、可见性和引用的操作方法 了解结构体、联合体的面向对象特性和用法。 3.1 类的构造和对象的创建 3.1.1 类设计的基本原则 在面向对象的程序中,客观系统自然被描绘成一系列完全自治、封装的对象,并将这些对象划分成类,类定义了属于该类的所有对象的共同特征,它可作为生成对象的一种模板,使对象成为类的实例。 从整体功能层面谈类设计,有如下三条原则: ·单一功能原则(Single Responsibility Principle)   一个class就其整体应该只提供单一的服务。如果一个class提供多样的服务,那么就应该把它拆分,反之,如果一个在概念上单一的功能却由几个class负责,这几个class应该合并。 ·开放/封闭原则(Open/Close Principle)   一个设计并实现好的类,应该对扩充开放,而对修改封闭。即,这个类应该是允许扩充的,但不允许修改。如果需要功能上的扩充,一般来说应该通过添加新类实现,而不是修改原类的代码。添加新类不单可以通过直接继承,也可以通过组合。 ·最小惊讶原则(Least Surprise Principle)  在重载函数或者用子类实现父类中的虚函数时,应该基本维持函数原来所期望的功能。 3.1.2 类和对象的定义方法 类定义的一般格式如下: class class_name { private: //私有成员 private variables and function; protected: //保护成员 protected variables and function; public: //公有成员 public variables and function; } object_list; 说明:(1)class_name是类名; (2)关键字public、private和protected是访问权 限修饰符,表示三种不同的访问权限。 (3)类的成员既可包括变量,又可包括函数。 (4) object_list为可选项,用户可在说明类之后, 根据需要再定义类的对象。例如: class_name object_list; 【例3.1】 类与对象的定义 #include iostream.h const int SIZE=10; class stack //类名很重要 { private:   //私有成员部分 char stk[SIZE]; int tos; public:    //公有成员部分 void init(); void push(char ch); char pop(); }; // 初始化成员变量tos void stack :: init() { tos=0; } //把一个字符压入栈中 void stack :: push(char ch) { if(tos==SIZE) { coutStack is full.\n; return; } stk[tos]=ch; tos++; } // 弹出一个字符 char stack :: pop() { if (tos==0) { coutStack is empty.\n; return 0; } tos--; return stk[tos]; } int main() { stack s1,s2;    int i ; s1.init();    s2.init();    s1.push(a); s2.push(x); s1.push(b); s2.push(y); s1.push(‘c’); s2.push(‘z’); for(i=0;i3;i++) couts1.pop( )“\t”; for(i=0;i3;i++) couts2.pop( )“\t”; return 0;} 运行结果: c b a z y x 3.1.3 成员函数的功能与定义方式 成员函数的功能和作用是:用于处理对象内部的数据, 实现对象的操作行为,为外部程序提供操作接口。 成员函数的定义方式有两种: (1)外置方式:成员函数的声明在类的说明体内,成员函数的定义则在类外。如上例。注意: (a)在函数名

文档评论(0)

dart001 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档