首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面向对象与面向过程

在这里,你能学到一通百通的知识

它们适用于任何一门语言

程序员口中经常说面向对象编程、面向过程编程,他们口中的面向对象到底是什么意思呢?刚学习编程的你可能百度了半天也不知道这是什么意思。今天我们就来讲讲面向对象与面向过程。

我们先来解释一下两个词:编年史和纪传体。这是两种书写历史史书的方式。

编年史:按照历史事件发生的先后顺序,记录历史事件。

比较著名的编年史史书有《资治通鉴》,记载的是从公元前403年到公元959年发生的历史事件,资治通鉴是按照时间顺序写的。

纪传体:通过记叙历史人物的活动,反映历史事件的史书。

广为熟知的纪传体史书是《三国志》,它的写作方法是按照某个历史人物写的,比如先主传(刘备)、后主传(刘禅)、诸葛亮传等。

史书都是在讲一个故事,而我们写程序是为了解决一个问题,本质上没有什么区别。

面向过程编程,就是编年史的写法,面向对象编程,就是纪传体的写法,是以某个“人”为对象开始写的。

可能还不是很清楚两者的区别,没关系,我们再说一个例子。

我想写一个程序,自动将大象装进冰箱里,步骤大概是这个样子的:

把冰箱打开

把大象装进去

把冰箱门关上

好,哪些是过程呢?冰箱开门、冰箱装进、冰箱关门,都是过程,于是我写程序时,面向过程编程是这个样子的:

这样写,程序可以正常运行,但是你是不是觉得非常奇怪呢?是不是觉得很不符合你的大脑思考方式?好,我们换成面向对象编程试试。

先找出你要写的对象是谁。纪传体中,我想写曹操的历史,我的对象就是“曹操”这个人。同样的,冰箱装大象中,主要的对象是冰箱。于是我对冰箱这个对象说道:

是不是看起来简单了很多?再进一步简化变成可执行的代码:

这样一来,是不是容易读了许多,也更加直观了,这就是面向对象。

常见的面向过程语言有C语言、Fortran语言,常见的面向对象的语言有Python、C++、Java等。

现在,你明白什么是面向对象、什么是面向过程了吗?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190628A0OTFL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券