面向对象编程C++(基本知识点)

面向对象编程

1.什么是对象

面向对象:描述在某个场景中,有些什么样的东西,这些东西之间的关系是怎么

面向过程:描述事件发生的流程是什么样的,按照时间顺序,会一步步发生什么样的事情

2.类在c++可以当作类型

类和对象的关系:类(class)定义了对象长什么样,对象(object)是一个那个类的东西

杯子定义了杯子都应该装水,每一个杯子都是一个杯子的具体实例

3.interface(接口):功能有交流和保护

4.将这类事物所能进行的行为也归纳出来,形成一个个函数,这些函数可以用来操作数据结构

(这一步叫做“抽象”)

5.通过某种语法形式,将数据结构和操作该数据结构的函数“捆绑”在一起,形成一个“类”,从而使得

数据结构和函数“捆绑”在一起,形成一个“类”,从而使得数据结构和操作该数据结构的算法呈现出

显而易见的的紧密联系,这就是“封装”

6.1 从客观事务中抽象出类

比如对于“矩形”这种东西,要用一个类来表示,该如何“抽象”呢?

    矩形的属性就是长和宽。因此需要两个变量,分别代表长和宽

     一个矩形,可以有哪些行为呢(或可以对矩形进行哪些操作)?

    (1)矩形可以设置长和宽,算面积,和算周长这三种行为(当然也可以有其他行为)

    (2)这三种行为,可以各用一个函数来实现,他们都需要用到长和宽这两个变量

6.2 将长,宽变量和设置长,宽,求面积,以及求周长的三个函数函数“封装”在一起,

就能形成一个“矩形类”

6.3 长,宽变量成为该“矩形类”的“成员变量”,三个函数成为该类的“成员函数”。成员变量和成员函数统称为类的成员

     实际上,“类”看上去就像“带函数的结构”

#include <iostream>
using namespace std;
class crectangle
{
public:
	int w, h;//w和h是成员变量
	crectangle(int w1, int h1)//该函数用来初始化,设置宽和高,所以该函数也是成员函数
	{
		w = w1;
		h = h1;
	}
	int area()//下面是三个成员函数
	{
		return w * h;
	}
	int perimeter()
	{
		return 2 * (w + h);
	}
	
};
int main()
{
	int w1, h1;
	cin >> w1 >> h1;
	crectangle r(w1,h1);//r是一个对象
		cout << r.area() << endl << r.perimeter();
	return 0;
}

上一篇:Codeforces Problem/1623/C题解


下一篇:《LeetCode之每日一题》:277.重塑矩阵