目录
基本概念
抽象和类
抽象:抽象是一种从一般的观点看待事物的方法,即集中于事物的本质特征,而不是具体细节或具体实现。
抽象意味着简化,是将现实中复杂而详细的情景替换为解决问题所使用的可理解的模型。也就是说我们将那些对解决问题而言影响甚微或根本没有影响的细节“抽象掉”,从而建立一个能让我们处理问题实质的模型
类:类是对现实生活中一类具有共同特征的事物的抽象。也就是把一堆东西进行“分类”和“归类”。对于一个具体的类,它有许多具体的个体,这些个体叫做对象。
例如,人类是一个类,其中包括张三李四,这就是对象。
类的作用是定义对象,对象具有属性和行为。
一个类的所有对象具有相同的属性,是指属性的个数、名称、数据类型相同,但各个对象的属性值则可以互不相同,并且随着程序的执行变化。
例如人类都有年龄、性别、身高、体重等属性,但每个人的属性的值是不同的
封装和隐藏
为了保护类的安全,也就是对类的属性和行为加以限制,对类进行封装,隐藏内部的数据类型。
封装就是把对象的属性和操作结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。
在类中,封装和隐藏是通过设置类的属性和操作的使用权限实现的。
封装就是把对象的属性和行为结合在一起表现事物。
类的定义
类的声明
对象是类的实例,把一组对象的共同特征抽象出来,从而形成“类”的概念。
像C语言的结构体一样,类也是用户自己构造的类型,两者不同的地方在于,C++类中不仅可以有数据,而且可以有对这些数据进行操作的函数,分别称为类的数据成员(属性)和类的成员函数(行为)。
数据成员和成员函数统称为成员。
类的声明形式:
class 类型
{
权限:
成员;
};
类的访问权限用于控制对象的某个成员在程序中的可访问性 ,包括private(私有)、protected(保护)、public(公有)三种权限,如果没有这三个关键字说明,默认为私有权限。
定义数据成员
方法与结构体相同,但不推荐进行赋值,这一步好比画轮廓,在有了具体的对象在画细节。
定义成员函数
类中定义的成员函数用来对数据成员进行操作,有两种定义方式:
1.在类内定义和声明
class 类名
{
返回类型 成员函数名(参数列表)
{
成员函数的函数体
}
};
2.在类内声明,类外定义
class 类名
{
返回类型 成员函数名(参数列表);
} ;
返回类型 类名::成员函数名(参数列表)
{
成员函数的函数体
}
其中“::”是作用域运算符;类名是成员函数所属类的名字;"::"用于表明其后的成员函数属于这个特定的类。
使用类的对象
类的对象使用方法与结构体变量的使用方法相同。使用“.”或“->”访问对象的成员。
在程序运行时,通过为对象分配内存来创建对象。在创建对象时,使用类作为样板。故称对象为类的实例。对象被视为能做出动作的实体,每个对象都是独立的,对象间使用这些动作协同工作完成程序所需要的各种功能。