学习第四天
1.类的基本定义
1.有一个关键字class
2.类的最重要的两个东西,变量和函数,在类里面变量叫做成员变量这个概念相信大家在结构体里面有一定了解,另一个就是函数,在类里面叫做成员函数。所以我们描述一个类最关键的两点就是变量和函数,而这个是我们程序的基础,所以我想大家在学习一个新的知识的时候一定要回去把老的知识都运用起来,比如之前讲过的函数的参数类型,各种最最重要的是函数参数为指针,引用,数组这几个一定要弄的非常的熟练才可以。
3.基础类一般形式
class 关键字 类名(标识符)
{
类的内部
}
除了这个大括号以外的都是类的外部。
2.封装
1.对类进行数据封装
这个就拿我们生活中的例子直接来说,我们人之所以可以成为一个类,就是因为我们人都有一些共同的特征,比如我们首先都能直立行走,都有眼睛,鼻子等感觉器官,都能说话进行语言交流,通过这些特征我们就可以对其进行封装,而这种对某一些事务共同的特征进行的数据封装就是对类进行基本的数据封装。
下面就进行一个简单的封装实例,圆,我们知道要描述一个圆首先要有一个点,然后有一个半径,用这个点加半径旋转一周我们就可以得到一个圆,而我们以前的学习就晓得圆的面积的求法,现在我们用面向对象的思想去写出来代码如下:
#define PI 3.1415926
class Circle
{
private:
double r;
double s;
public:
double getR()
{
return r;
}
void setR(double m_r)
{
r = m_r;
}
double getS()//增加功能,是修改类中的函数和属性
{
s = PI * r * r;
return s;
}
//问题?C++编辑怎么知道我是c1调用还是c2调用
};
我们在这里关键字class 标识符圆,下面我们在类的内部进行一个变量的定义double r//定义了一个数据装我们的半径,还定义了一个来装我们的面积。因为这个是我们的硬性指标,或者说不是动作就是描述圆的一些特征的东西,我们叫属性。然后我们定义了三个方法,一个是getR,setR,getS,前面两个相信大家一看就明白就是赋值和得到某一个数据写的,后面那个getS我们看到这个就是圆这个类给我们提供的计算他自己的面积的一个方法。这个我们叫做成员函数。在面向对象编程里面也可以叫做动作。这样我们就把类的两个最关键的点都使用到了。
2.对类的数据的隐藏封装
这里讲的就是三大基石的封装特性,这里我只说常用的两个,一个是public,private,一个是公开的也叫公有的一个是私有的,我们可以看到上面的代码我在变量之前用的就是private私有的这个就会告诉这两个属性是私有的,只能我自己使用,就想我们的钱包,只能我们自己使用,当然也有朋友是可以给老婆使用(呵呵),然后后面的方法,我就用的公有的,这样我们在外部就可以访问到这个方法。这个在面向对象里面很重要,后面的继承会大量利用到这个特性。
3.面向对象基础圆的操作
#include <iostream>
using namespace std;
//1.封装
//类就是把属性和方法进行封装
#define PI 3.1415926
class Circle
{
private:
double r;
double s;
public:
double getR()
{
return r;
}
void setR(double m_r)
{
r = m_r;
}
double getS()//增加功能,是修改类中的函数和属性
{
s = PI * r * r;
return s;
}
//问题?C++编辑怎么知道我是c1调用还是c2调用
};
//面向过程的加工的是:函数
//面向对象的加工是: 类
//封装 private public protected
//类的内部与外部
//圆的例子
int main()
{
Circle c1,c2;//通过类进行定义变量
c1.setR(10);
c1.getS();
cout<<"圆的面积是:"<<c1.getS()<<endl;
system("pause");
return 0;
}