C解析之十一类

[复制链接]
 楼主| elecintop 发表于 2014-4-28 23:21 | 显示全部楼层 |阅读模式
类是当今主流程序设计方法-面向对象的核心机制。面向对象技术,一切皆对象,将现实世界的事物抽象成对象,面向对象是计算机编程语言发展到相当阶段的产物,能有效提高编程效率,能以更符合人类理解的方式实现对复杂系统的分析与设计。
 楼主| elecintop 发表于 2014-4-28 23:22 | 显示全部楼层
1.理解类的本质:
类是面向对象程序设计中对具有相同性质对象的抽象,封装了该对象的数据和操作,这种机制能保证对数据的安全,高效,合理的访问。
对象是类的实例,相对抽象地类,对象是具体的实体。
 楼主| elecintop 发表于 2014-4-28 23:27 | 显示全部楼层
2.类的定义:语法格式为
  1. class 类名
  2. {
  3.      private:
  4.             私有的成员数据和成员函数;
  5.      public:
  6.             公有的成员数据和成员函数;
  7.      protected:
  8.             保护的成员数据和成员函数;
  9. };
成员 数据:对应类的属性。
成员 函数:对应类的操作。
private    :  声明私用的成员,只能被该类的成员函数访问。
public      :  声明公有的成员,可被该类成员函数访问,也可被其他函数访问。
protected:  声明保护的成员,可被该类成员函数访问,也可被派生类函数访问。
注意:类 calss是一种数据结构,不是函数(尽管类class可包含成员函数),故定义后需加分号。
类可以理解为一种复杂数据类型 ,定义类并不分配存储空间。
 楼主| elecintop 发表于 2014-4-28 23:28 | 显示全部楼层
3.类成员数据:数据类型 数据名;
类成员数据的声明方法与结构体相同,可为C/C++中任意合法类型。
 楼主| elecintop 发表于 2014-4-28 23:30 | 显示全部楼层
4.类成员函数:返回值类型 函数名(形参列表);
类成员函数的声明方法同一般C/C++函数。
 楼主| elecintop 发表于 2014-4-28 23:31 | 显示全部楼层
class类定义示例如下:定义一个书类
  1. class book
  2. {
  3. private:
  4. int price; //价格属性
  5. int pages; //页数属性
  6. public:
  7. void ShowPrice()
  8. { //显示书价格操作
  9. printf("The price of this book is %d",price);
  10. }
  11. void ShowPagas()
  12. { //显示书页数操作
  13. prinft("The pages fo this book is %d",pages);
  14. }
  15. }; //很容易忽略的细节“;”
 楼主| elecintop 发表于 2014-4-28 23:31 | 显示全部楼层
5.类的思考:
我们看看这个特殊的数据类型:类的封装:将数据与操作封装在一个载体。封装有两层含义:一是把对象的属性与操作结合成不可分割的个体,如book的价格,页数与显示价格,页数的操作,更符合理解上book的一体性;二是对外隐藏了内部属性和实现细节,如查询书价格只能通过ShowPrice()得到,外界不知道book类的内部属性,也不知道ShowPrice()的实现,具有更高的安全性,独立性,模块性。
smilingangel 发表于 2014-5-7 23:49 | 显示全部楼层
elecintop 发表于 2014-4-28 23:31
5.类的思考:
我们看看这个特殊的数据类型:类的封装:将数据与操作封装在一个载体。封装有两层含义:一是 ...

类的概念的还是没怎理解的啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

1329

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部