1.1类与对象的概念
类和对象的概念:
在面向对象程序设计中用计算机中的软件对象模拟现实中的实际对象,它用类(class)来表示同类对象的公有属性和行为,即用类这一概念来表示客观世界中的共同事物。在面向对象程序中,类是用归类方法从一个个具体对象中抽取出共同特征而形成的概念。比如张三、李四、王五……都是学生,都有学号、姓名、班级、性别等属性,具有做作业、听课等行为。将所有同学都共有的这些属性和行为抽象出来,就构成了学生类。而具有一个类所指定的属性和行为的一个个体则称为该类的对象。
抽象与封装:
抽象(abstract)是指有意忽略问题的某些细节和当前目标的方面,以便把问题的本质表达得更清楚。
1.2类的封装
1、定义用户类:
用户类定义:class User
class:是类声明的关键字
User:是用户类的名称,遵循标识符的命名规则。
2、 封装用户类:
将数据和操作数据的函数包装在一起的主要目的是实现数据封装和信息隐藏,信息隐藏就是使类中的数据和对数据的操作的细节对外不可见。简单地说,信息隐藏就是不让类外部的函数直接修改类的数据,只能通过成员函数对数据进行间接修改。
为了实现信息隐藏,限制外部函数对类成员的非法访问,C++增设了3种访问权限限定符,用以设置类中的数据成员和数据函数的访问权限:
(1)public:
被设置为public权限的成员(包括数据成员和成员函数)称为类的公有成员,可被任何函数访问(包括类内部和外部的函数)。
(2)private:
被设置为private权限的成员(包括数据成员和成员函数)被称为私有成员,只能被类内部访问。
(3)protected:
被设置protected权限的成员(包括数据成员和成员函数)被称为保护成员,只能被类的内部和派生类访问,不能被外面的函数访问,与继承有关。
1.3对象
类描述了同类事物共有的属性和行为,类的对象是具有该类所定义的属性和行为的实体。类是抽象的、概念性的范畴。对象是实际存在的个体。
类与对象的关系其实就是数据类型与变量的关系,类是一种自定义数据类型。用它定义的变量就是对象。广义讲,在面向对象程序中用任何数据类型定义的变量都可以称为对象。