最新要闻
- 马斯克给全球车主发福利:每人可“白嫖”30天免费EAP试用服务
- 阵容十分豪华 2023最受期待的十大游戏来了:暗黑4位列第三
- 首发天玑8100:荣耀平板V8 Pro带来超级笔记 自动去广告
- 起点读书宣布百部经典作品限时免费:包括《诛仙》《红楼梦》等
- 世界热点!男子修车时发现4S店虚报维修定损金额 要求退一赔三胜诉
- 每日动态!2023春运车票24日开售 除夕车票要等到1月7日
- 《妮姬》首月收入突破6.9亿!腾讯海外收入占比提升达12.5%
- 今日热门!超越电竞机!Redmi K60要榨干第二代骁龙8:画质、帧率、亮度三不降
- 每日精选:效果堪比镀铬 2.2万元的特斯拉Model Y新配色值不值?
- Intel拆分GPU部门 一把手重回技术岗 累计亏损超20亿美金
- 天天通讯!iPhone 14 Pro爆出“闪线门” :屏幕出现诡异的绿色和黄色细横线
- 全球热点评!当ChatGPT遇上弱智吧:全程爆笑
- 夫妻的世界翻拍哪部电视剧?夫妻的世界最后结局是什么意思?
- 滕王阁为什么叫阁不叫楼?滕王阁为什么是三大名楼之首?
- 情非情砸车是第几集?情非情盖总和保姆的结局是什么?
- 小昭去波斯是哪一集?小昭去波斯后她母亲去哪儿了?
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
百事通!面向对象与面向过程
计算机诞生以来,为适应程序不断增长的复杂过程,程序设计方法论发生了巨大变化。例如,在计算机发展初期,程序设计是通过输入二进制机器指令来完成的。在程序仅限于几百条指令的情况下,这种方法是可接受的。随着程序规模的增长,人们发明了汇编语言,这样程序员就可以使用代表机器指令的符号表示法来处理大型的、复杂的程序。随着程序规模的继续增长,高级语言的引入为程序员提供了更多的工具,这些工具可以使他们能够处理更复杂的程序。
(资料图片)
20世纪60年代诞生了结构化程序设计方法,Pascal和C语言是使用这种方法的语言。结构化编程采用了模块分解与功能抽象和自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子程序,便于开发和维护。但是由于在实际开发中需求会经常发生变化,因此,它不能很好地适应需求变化的开发过程。结构化程序设计是面向过程的。
面向对象程序设计师一种功能强大的设计方法。它吸收了结构化程序设计的思想精华,并且提出了一些新的概念。广义上讲,一个程序可以用两种方法组织:一是围绕代码(发生了什么);二是围绕数据(谁受了影响)。如果仅使用结构化程序设计技术,那么程序通常围绕代码来组织。
面向对象程序则以另一种方式工作,它们围绕数据来组织程序。在面向对象语言中,需要定义数据和作用于数据的操作。
1 面向过程
面向过程编程(Procedure Oriented Programming,OPP)是一种以事物为中心的编程思想。主要关注“怎么做”,即完成任务的具体细节。它以过程(可以理解为方法、函数、操作)作为组织代码的基本单元,以数据(可以理解为成员变量、属性)与方法相分离为最主要的特点。面向过程风格是一种流程化的编程风格,通过拼接一组顺序执行的方法来操作数据完成一项功能。
2 面向对象
2.1 概述
面向对象编程(Object Oriented Programming,OOP)是一种以对象为基础的编程思想。主要关注“谁来做”,即完成任务的对象。使用这种方法开发的软件具有易维护性、可重用和可扩展等特性。
2.2 基本概念
1.对象
在现实世界中,对象无处不在。人们身边存在的一切事物都是对象。例如,一个人、一辆汽车、一台电视机、一所学校甚至一个地球,这些都是对象。除了这些可以触及的事物是对象外,还有一些抽象的概念,如一次会议、一场足球比赛、一个账户等也都可以抽象为一个对象。
一个对象一般具有两方面的特征:状态和行为。状态用来描述对象的静态特征,行为用来描述对象的动态特征。
例如,一辆汽车可以用下面的特征描述:生产厂家、颜色、最高时速、出厂年份、价格等。汽车可以启动、加速、转弯和停止等,这些是汽车所具有的行为或者说施加在汽车上的操作。又如,一场足球比赛可以通过比赛时间、比赛地点、参加的球队和比赛结果等特性来描述。软件对象也是对现实世界对象的状态和行为的模拟,如软件中的窗口就是一个对象,它可以有自己的状态和行为。
通过上面的说明,可以给“对象”下一个定义,即对象是现实世界中的一个实体,它具有如下特征:有一个状态,用来描述它的某些特征。有一组操作,每个操作决定对象的一种功能或行为。
因此,对象是其自身所具有的状态特征及可以对这些状态施加的操作结合在一起所构成的实体。一个对象可以非常简单,也可以非常复杂。复杂的对象往往是由若干个简单对象组合而成。例如,一辆汽车就是由发动机、轮胎、车身等许多其他对象组成。
2.类
类(class)是面向对象系统中最重要的概念。在日常生活中经常提到类这个词,如人类、鱼类、鸟类等。类可以定义为具有相似特征和行为的对象的集合,如人类共同具有的区别于其他动物的特征有直立行走、使用工具、使用语言交流等。所有的事物都可以归到某类中。例如,汽车属于交通工具类,手机属于通信工具类。
属于某个类的一个具体的对象称为该类的一个实例(instance)。例如,我的汽车是汽车类中的一个实例。实例与对象是同一个概念。
类与实例的关系是抽象与具体的关系。类是多个实例的综合抽象,实例是某个类的个体实物。
3.消息
对象与对象之间不是孤立的,它们之间存在着某种联系,这种联系是通过消息传递的。例如,开汽车就是人向汽车传递消息。
一个对象发送的消息包含三方面的内容:接收消息的对象;接受对象采用的方法(操作);方法所需要的参数。
2.3 面向对象的基本特征
面向对象最基本的特征为:封装性、继承性、多态性。
1.封装性
封装(encapsulation)就是把对象的状态(属性)和行为(方法)结合成一个独立的系统单位,并尽可能的隐藏对象的内部细节。封装使得一个对象形成两个部分:接口部分和实现部分。对用户来说,接口部分是可见的,而实现部分是不可见的。封装提供了两种保护。首先封装可以保护对象,防止用户直接存取对象的内部细节;其次封装也保护了客户端,防止对象实现部分的改变可能产生的副作用,即实现部分的改变不会影响到客户端的改变。
2.继承性
继承(inheritance)的概念普遍存在于现实世界中。它是一个对象获得另一个对象属性的过程。继承之所以重要,是因为它支持层次结构类的概念。可以发现,在现实世界中,许多知识都是通过层次结构方式进行管理的。
3.多态性
多态性(ploymorphism)是面向对象编程语言的一个重要特征。所谓多态,是指一个程序中相同的名字表示不同含义的情况。面向对象中多态有多种情况。在简单的情况下,在同一个类中定义了多个名称相同的方法,即方法重载;另一种情况是子类中定义的与父类中的方法同名的方法,即方法覆盖。这两种情况都称为多态,且前者为静态多态,后者称为动态多态。
3 面向对象与面向过程的区别
如今主流的软件开发思想有两种:一个是面向对象,另一个是面向过程。面向过程出现的较早,典型代表为C语言,开发中小型项目的效率很高,但是很难适应如今主流的大中型项目开发场景。面向对象则出现的更晚一些,典型代表为Java和C++等语言,更加适用于大型开发场景。两种开发思想各有长短,
对于面向过程的思想:当需要实现一个功能时,看中的是每一个步骤怎么做,整体的过程是怎样的,每一个过程都需要自己亲力亲为。
对于面向过程的思想:当需要实现一个功能时,不看重具体的过程和步骤是怎样的,而是关心“谁能帮我做这件事”。
面向过程是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。当程序规模不是很大时,面向过程的方法还会体现出一种优势。因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。
面向对象是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。类和继承是是适应人们一般思维方式的描述范式。方法是允许作用于该类对象上的各种操作。这种对象、类、消息和方法的程序设计范式的基本点在于对象的封装性和类的继承性。通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系,以及由此带来的动态联编和实体的多态性。
百事通!面向对象与面向过程
全球速递!Flex布局总结
马斯克给全球车主发福利:每人可“白嫖”30天免费EAP试用服务
阵容十分豪华 2023最受期待的十大游戏来了:暗黑4位列第三
首发天玑8100:荣耀平板V8 Pro带来超级笔记 自动去广告
起点读书宣布百部经典作品限时免费:包括《诛仙》《红楼梦》等
世界热点!男子修车时发现4S店虚报维修定损金额 要求退一赔三胜诉
Codeforces 1630 E Expected Components 题解 (组合数学)
头条:Java基础项目:超市管理项目
每日动态!2023春运车票24日开售 除夕车票要等到1月7日
《妮姬》首月收入突破6.9亿!腾讯海外收入占比提升达12.5%
今日热门!超越电竞机!Redmi K60要榨干第二代骁龙8:画质、帧率、亮度三不降
每日精选:效果堪比镀铬 2.2万元的特斯拉Model Y新配色值不值?
环球观察:高可用 Canal集群 实操( 秒懂 + 史上最全)
微头条丨认证管理(锐捷业软篇)
Intel拆分GPU部门 一把手重回技术岗 累计亏损超20亿美金
天天通讯!iPhone 14 Pro爆出“闪线门” :屏幕出现诡异的绿色和黄色细横线
全球热点评!当ChatGPT遇上弱智吧:全程爆笑
夫妻的世界翻拍哪部电视剧?夫妻的世界最后结局是什么意思?
滕王阁为什么叫阁不叫楼?滕王阁为什么是三大名楼之首?
情非情砸车是第几集?情非情盖总和保姆的结局是什么?
小昭去波斯是哪一集?小昭去波斯后她母亲去哪儿了?
男人是大猪蹄子是什么意思?男人是大猪蹄子女人是什么?
排序算法模板(更新中)
当前速读:机器学习——果蔬分类
每日消息!性能超越电竞手机!Redmi K60 Pro综合跑分达135万
信息:千万别强忍 20岁小伙憋气压抑咳嗽导致昏厥
特斯拉今年股价累计暴跌超60%!马斯克透露大跌原因
收购动视暴雪遇阻 微软哭弱:根本打不过索尼、任天堂
到手9袋!良品铺子坚果礼盒1440 仅44元包邮
每日讯息!教你用JavaScript实现背景图像滑动
户外运动有哪些项目?户外运动品牌排行榜
什么鱼营养价值最高?什么鱼只会逆流而上?
金木水火土命怎么算出来的?金木水火土哪个腿长?
玉面小飞龙是什么意思?玉面小飞龙出自哪里?
Redmi K60系列上架:三颗口碑最好的芯片都拿到了 12月27日发
每日聚焦:最快闪充旗舰!真我GT Neo5充电头曝光:支持240W充电
环球热讯:紫米裁员80%并入小米?官方澄清:ZMI品牌将继续存在
全球新资讯:9.99万元遭疯抢 五菱宏光MINI EV敞篷版下线:能跑280km
苯胺皮是什么皮?苯胺皮和纳帕皮有什么区别?
世界新动态:CloudCanal实战-五分钟搞定Oracle到StarRocks数据迁移与同步
(一)elasticsearch 编译和启动
【速看料】马斯克辞任CEO,产品经理如何用项目协作软件武装自己?
焦点速讯:字节鏖战美团的关键一役
重点聚焦!糗事百科宣布将关闭服务 自侃“享年17岁”
全球观点:神似苹果AirPower!特斯拉推出无线充电板:最高功率15W
手慢无 民族品牌两面针牙膏大促:四支到手20元还送牙刷
又一新能源品牌官宣涨价:最少涨5千 今年买车还剩最后一周“窗口期”
全球速看:盘点适合《战神》奎爷的演员:道恩·强森、杰森·莫玛等
新型复兴号CR200J首次亮相:Wi-Fi全覆盖 充电插口增加
环球微动态丨比亚迪DM-i再外放 东风小康风光蓝电E5官图发布:综合续航1150km
霍乱疫情卷土重来:已致马拉维国410人死亡
环球今热点:随身咖啡馆 精神X小时:Nevercoffee咖啡1.99元(京东5元)
天天微头条丨什么是 HTML5?
每日消息!Ubuntu:Docker 容器操作
天天关注:苹果降低中国工厂依赖:真要搬走?iPhone 14制造难度降低
全球聚焦:不装了!日本万亿重新发展核能:新一代核反应堆准备中
【热闻】冬至湖南浏阳全城燃放烟花 满城烟花一河诗画:网友羡慕哭
焦点简讯:顺丰又上热搜!买Chanel耳钉顺丰运掉五颗珍珠
焦点热门:修复RX 7900显卡功耗异常 AMD新驱动实测:有用 但没什么大用
天天简讯:比iPhone 14 Pro Max更轻更便宜 OPPO Find N2首销:7999元
4插槽怪兽 华硕、猫头鹰合作打造最安静、最冷静的RTX 4090/4080显卡
动态:5.2万亿财富没了 特斯拉股东喊话马斯克:别只顾着推特了
世界微速讯:小岛秀夫:只有Xbox懂我
天天通讯!本田思域Type R各国/地区售价曝光 在日本才卖20多万?
每日短讯:负债585.68亿:国美获黄光裕公司三笔贷款累计5亿港元
全球快看点丨新能源车国补退场倒计时!车企打响价格战:现金立减、保险补贴
时隔半年 终于不寂寞!讯景发布全球第二款RX 6700
中国哪里的羊肉最好吃?这5个地方 你最爱谁?
后壳质感堪比玉石!vivo S16 Pro图赏
微软重构资源管理器进程:Windows 11运行速度大提升
支付宝接入技术
Python requests库指定IP请求,并使用HTTPS证书验证
世界今热点:MAUI新生4.5-字体图像集成Font&Image
精彩看点:Codeforces 1654 G Snowy Mountain 题解 (重心分治)
美国遭史上最严重禽流感疫情:鸡蛋价格创纪录 真吃不起节奏
环球速看:FreeSWITCH学习笔记:Lua脚本
每日短讯:剪映上线团队剪辑“神技”:异地多端一起剪视频成为可能
3299元起 vivo S16 Pro手机发布:首发双面柔光人像拍摄
环球信息:童年的味道 大白兔奶糖促销:1斤20元到手
环球聚焦:自拍绝了!vivo发布新机S16e:2099元起、行业首创“玉质玻璃”工艺
软链接和硬链接
世界热消息:渗透实录-02
雷军宣布小米人事调整:总裁王翔退休 卢伟冰晋升
环球热消息:特斯拉北美大降价5.2万 超高折扣只为保住销量?
vivo S16系列亮相:标准版搭载骁龙870 Pro版搭载天玑8200
vivo S16系列出厂预装OriginOS 3 虚拟内存提升8G
vivo S16系列7.36mm机身塞进4600mAh:苹果iPhone都没做到
快资讯:教你用JavaScript实现鼠标特效
【天天聚看点】男子开宝马专挑外地牌照车碰瓷 套路防不胜防:扔石头制造声响
迪士尼神话剧《美生中国人》新剧照:杨紫琼饰演观音 吴彦祖变身孙悟空
环球滚动:FIFA年终国家队排名:国足降至第80 美加墨世界杯出线希望增加
【报资讯】RTX 40系列移动显卡参数曝光:价格可不低
世界通讯!一加首款键盘曝光:全铝机身、自带USB-C/A接口
当前动态:基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等
JDK源码分析实战系列-PriorityBlockingQueue
资讯:Altium Designer v23.0.1.38图文详解
焦点热议:历史总是惊人地相似:复古主机Atari VCS宣告停产 一个时代终结
网友称考研民宿房费暴涨近20倍 店家:每年都一样
中国企业站稳全球LCD市场!李东生:TCL部分技术领先三星