怎么理解c++中的面向对象编程(从c语言到c++)(详细)(有问题可以留言)
作者:互联网
当我们在学校上学期学完c语言后,尽管一些东西还没有很深入的学习,但是结构化的编程语言的大体框架差不多理解。猛然学习到c++如何理解面向对象编程和c++中的类和对象呢?(注:下文均是博主在日常学习中的理解,如有不对,欢迎指正)
一: 总的来讲:整个编写的程序是为了解决问题而编写的。在这过程中对数据进行分类(对变量和函数根据内在联系,同一进行分类,形成类。用类所定义的变量成为对象(注:在分工合作中某些程序员定义类,并编写类代码。某些程序员使用类定义对象,然后通过对象重用该类的代码。
二:简单来说,类就是一类事物。我们根据事物所含有的数据和所需的函数来构造不同的类,下面举一个简单的例子来说明一下。
eg:求一个半圆球的表面积。
在用程序解决这个问题时,如果利用c语言所学到的知识,我们大致可以有两种解决路线:
一:分别设变量sy和sq来分别储存半圆球的底面的面积和半球面的面积,这同样的也可以在c++里面实现,只不过是语法不同。
二:分别构造两个函数来计算出半圆球的底面积和半球面积。
而使用c++的时候,我们首先分析问题,根据问题分类抽象出来类。例如这道题,半圆球的表面积是又两个部分组成,分别是地面的圆形面积和侧边的半球面积。根据圆形面积这一特点,我们构造出一个名称为圆形的类(这个时候或许可以理解,为何说类是自定义的一种数据结构)然而这个类只是我们定义的一种数据结构。我们用圆形这个类去定义一个对象yuan,在这个yuan中有着我们前面在圆形这个类中定义的数据成员和函数成员。这就是一个对象,类似的我们可以把类类比于c语言中学到的struct结构(虽然二者有差别)。我们在调用yuan这个对象中之前在圆形类里面编写好的函数,来计算得出相关结果。之后的半圆球面积也类似,区别只在于定义半圆球面这个对象的类里面的函数成员不同。
差不多到这里,你应该大致明白了类和对象的区别,如果还不是特别很清晰,推荐mooc上面中国农业大学阚道宏教授的“C++语言程序设计(下)——从C到C++”相信你一定会有收获。
最后来一段我笔记上面记载的话:分类(面向对象的四个特征:分类(抽象),封装,继承,多态)也即抽象,先把事物转换成数据模型,对事物的处理也就是对数据的处理,面向对象程序设计将一个个具体事物成为对象,对事物进行归纳,抽象所划分的类别成为类,数据被称为事物的属性。在程序中用变量储存数据,处理数据算法被称为方法,在程序中用函数来描述。同类对象具有相同的属性和方法,这些属性和方法被划分成类的成员。根据实际(属性成员和方法成员)并合理设定访问权限,这就是类的设计。
注:(个人理解)整个编写的程序是为了解决问题,然后划分成各种类别,根据类图(一种表示类之间关系的图),确定他们之间的关系,类定义对象也就是问题里的事物,其相关数据也就是事物的属性,对这些数据进行的操作也就是方法,即函数。最后解出结果。)
标签:定义,对象,留言,事物,c++,圆球,面向对象编程,函数 来源: https://blog.csdn.net/somemoods/article/details/114905215