essential C++中关于面向过程和面向对象的说明

昨天在阅读essential C++中看到了一个关于面向过程和面向对象的区别的例子,感觉挺好的。记录下来....

这个例子是关于照相机的。照相机有三个性质,一个是控制位置:通常使用3个浮点数据来表示其坐标;还有一个视角方向的性质:可以使用3个浮点数据来表示其坐标;最后是一个宽高比的性质,可以使用1个浮点数据来表示。

对于面向过程而言,在编程的过程中势必要不断的在相机的抽象的性质和这7个浮点数据之间反复来回。就好比我们定义一座大楼,面向过程就是要不断在建造大楼的砖头进行打交道,这明显和现实生活的思考模式不一样。

而对于面向对象来说,可以将相机的性质抽象出来,定义一个控制位置的类,视角方向的类以及一个宽高比性质的类。最后还可以定义一个class camera的类,这样我们在编程的过程中只需要考虑相机这个类就可以了,这个和我们现实生活中的思考方式就很接近了。这其实也是面向对象和面向过程编程的区别吧!

essential C++中关于面向过程和面向对象的说明,布布扣,bubuko.com

时间: 2024-10-13 13:47:50

essential C++中关于面向过程和面向对象的说明的相关文章

o'c基础第一天面向过程与面向对象

1. OC将C的复杂的东西简单 a. #import 指令. b. NSLog函数. c. NSString d. BOOL 2. OC在C的基础之上增加了一些面向对象的语法. 面向过程 面向对象. 是解决问题的不同的思路. 1). 将大象放进冰箱. a. 打开冰箱门. b. 把大象放进冰箱 c. 把冰箱门关上. 面向对象. 找到1个冰箱. 只要这个冰箱有自动开门 自动拉近大象 自动关门. 2). 买电脑的需求 a. 根据自己的预算和需求确定型号. 查找资料. b, rMBP 9288 c, 到

面向过程与面向对象的区别-遁地龙卷风

下面例子根据C和Java编写 面向过程与面向对象之间的区别在于认知世界的方式,后者在前者的基础上提供了更高的抽象层次-类. 也就是抽象.封装.继承.多态. 举个例子 输出 小明20岁<=>A,小明打篮球<=>B. 面向过程相当于在类中调用main方法输出A.B public class Test { public static void main( String[] args ) { System.out.println( "小明去上学" ); System.o

面向过程,面向对象,函数式对同一个问题的思考方式

我之所以对函数式代码感兴趣是因为函数式代码富有表现力,可以使用简短.紧凑的代码完成工作,同时能对特定的问题给出优雅的解决方案.现代的编程语言不约而同的朝着面向对象.函数式.动态.解释执行的方向发展,例如Ruby,Swift.而另一些语言则更加强调函数式编程,如F#,Scala,这种语言有着强大的类型推断系统,编写的代码洁程度则令人叹为观止. 在F#编写一个两个数相加的函数,在F# Interactive中输入: let add num1 num2=num1*num2;; F# Interacti

面向过程和面向对象的本质理解

http://kiritor.blog.51cto.com/7400479/1226762/ 面向过程和面向对象的本质理解 面向过程就是分析出解决问题所需的步骤,面向对象则是把构成问题的事物分解成对象,抽象 出对象的目的并不在于完成某个步骤,而是描述其再整个解决问题的步骤中的行为. 面向过程的思维方式是分析综合,面向对象的思维方式是构造. 例如c语言解决问题时,一般是先定义数据结构,然后在构造算法.而是用Java面向对象求解时 则是先抽象出对象,构造一个"封闭"的环境,这个环境中有定义

.NET 高级架构师0002 架构师之路(1)---面向过程和面向对象

1.引言     机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到.但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构师,有的人却还在不停地coding,只不过ctrl-c.ctrl-v用得更加纯熟了.在中国,编程人员最终的归途无外乎两条:一是转向技术管理,它的终点是CTO:二是继续深入,它的终点是首席架构师,成为CEO的人毕

PHP面向过程和面向对象

php程序编写分为面向过程和面向对象.两者在功能实现上没有区别,但是在代码编写上区别很大,面向过程的代码很乱,不易管理,而面向对象把常用的功能封装为一个类,这样代码清楚多了. 下面举个小例子说明一下: php连接数据库: 面向过程:$conn = mysql_connect('服务器名称', '数据库登陆名', '密码') or die('连接不成功!');          mysql_select_db('库名', $conn) or die('数据库不存在!');          $qu

面向过程和面向对象编程

 编程方式可分为:面向过程和面向对象 面向过程:面向过程是我们比较原始的编程方式,它是根据计算机的思维方式进行编程,其缺点是当遇到比较复杂的程序时运用这种编程实现起来比较困难.----------面向对象:万物皆对象,现实生活中每个实实在在的东西都可以称之为对象,面向对象它是人类有史以来就具备的思维方式. 例如:我们看到一辆汽车首先我们就会关注它的颜色.大小.价格.款式等等,这些东西称之为属性或者叫做特征.接下来我们就会想到这辆汽车它能做什么,像这种就是可一称之为方法或者叫做行为.而对于我们没个

面向过程和面向对象及面向对象的三大特征

英文及缩写: 面向过程:procedure oriented programming POP 面向对象:object oriented programming OOP 面向对象和面向过程的历程: 面向过程编程采取的是时间换空间的策略,因为在早期计算机配置低,内存小,如何节省内存则成了首要任务,哪怕是运行的时间更长.随着硬件技术的发展,硬件不再成为瓶颈,相反更好的模拟现实世界.系统的可维护性等问题凸显出来,于是面向对象设计应运而生.当下:应用在PC机上的一般应用系统,由于不太需要考虑硬件的限制,而

面向过程和面向对象

面向过程和面向对象简介 一 .面向过程与面向对象的区别: 前者是一种谓语和宾语的关系:后者是一种主语和谓语的关系 . 二.面向对象的三个特征: 封装 继承 多态 三.类与对象: 对象又称作实例,是实际存在的该类事物的每个个体.类是对某一类事物的描述,是抽象的.概念上的 定义. 面向对象的设计的重点是类的设计. 四.对象的比较: 1 “= =”运算符与equals()方法的区别: 前者辨别实质是否相等:后者辨别长相是否相等. 五. 实现类的封装性: 1不能让外面的类随意修改一个类的成员变量: 2在