C++面向对象1

对象和类

要解释什么是类,什么是对象还真实很麻烦的事情,但我尽量吧.

传统的面向过程编程是一步一步地按照顺序执行的。比如说我要计算一个班10个学生的平均成绩,我会先把这10个数据准备好,然后再求和,最后把和再除以10 ,这样一步一步地把结果算出来。这就是所谓的面向过程的编程。

而面向对象却不一样,程序要操作的是对象(Object).还是刚刚那个程序,从面向对象的角度来说我们要做的是计算学生的平均成绩,重心再对学生进行一些操作。而不是计算这一行为。

那么,何为对象?该怎么描述对象?对象就是实体。在很多情况下,要精准地描述一个对象是很困难的,但是也没有这个需要。在C++的面向对象中,我们要做的仅仅是通过描述对象的一些属性来确定一个对象。

比如学生对象,在刚刚的例子中,我们不需要关注学生的名字,性别,因为这对解决问题并没有任何帮助,因此在这个例子中用成绩这一属性来描述学生对象就足以。

下面的例子就是对学生对象的一个描述或者叫约束,它规定了学生这个实体有一个score属性而且这个score属性是int类型的。

1
2
3
class student{
int score;//score
};

再比如我要描述一个老师对象,需要用到老师的名字,年纪,性别,就可以这样描述。

1
2
3
4
5
class Teacher{
std::string name;
std::string gender;
int age;
};

C++中的类

上面的对象描述信息就叫做

  • 类不是对象,只是对对象的属性的一种描述,一种约束

  • 类可以用来生产对象

1
2
3
4
5
6
7
8
class A{
int b;
bool c;
};//创建一个类
int main(){
A a;//由这个类生产一个叫a的对象
return 0;
}

举这样一个例子,在浇筑工件的时候我们需要模具来使工件成为我们需要的模样。C++中类的建立和对象的创建也是如此,class{...};建立了一个叫A的模具,(那模具是不是对象呢:)),A a;相当于浇筑过程,通过模具A产生了一个叫a的对象。

成员函数

当然我们对对象的,描述不只是有属性,还可以有行为,把对对象的行为描述称为方法,或者叫成员函数?

在类中可以这样定义方法

1
2
3
4
5
6
class A{
int a;
int b;
int getA(){return a;}
int getB(){return b;}
}

getA()getB()就是对A类对象的方法的描述。