android iOS 都精通,Android IOS开发要理解何为面向对象的思维

何为面向对象的思维?

面向对象 VS面向过程

OOP =》面向对象,全称Object Oriented Programming

POP =》面向过程,全称Process-oriented programming

1、通俗的理解:

有一天你想吃鱼香肉丝了,怎么办呢?你有两个选择:

1)自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里。(即面向过程)=》更符合电脑的思维

2)去饭店,张开嘴:老板!来一份鱼香肉丝!(面向对象) =》更符合人类的思维

2、深入理解

面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。

面向对象是模型化的;你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现,至于这个功能是如何实现的,无需了解,会用就行。

PS:需要注意的是==>面向对象的底层其实还是面向过程,把面向过程抽象成类,然后封装;方便我们使用的就是面向对象了。

3、各自的优缺点

面向过程:

优点:性能比面向对象好;因为类调用时需要实例化,开销比较大,比较消耗资源。

缺点:不易维护、不易复用、不易扩展.

面向对象:

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护 .

缺点:性能比面向过程差

4、面向对象的三大特性解释

1)封装

隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。

2)继承

提高代码复用性;继承是多态的前提。

3)多态

父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性

总结:

如果解决1件事情的时候,每件事情都是我们亲自去一步步实现,那么这种解决问题的思路叫做面向过程的解决思路;

如果解决1件事情的时候,自己不去亲自做,而是找1个专门做这件事情的人来帮助我们做,这种解决问题的思路我们叫做面向对象的解决思路。

面向过程与面向对象是解决同1个问题的不同思路

代码世界的面向过程说面向对象

面向过程:在遇到一个需求的时候,实现这个需求的每1个步骤都是自己写代码亲自去做,一步步的实现,这样的解决问题的方式我们就叫做面向过程的方式。

面向对象:在遇到一个需求的时候,不要亲自去实现,而是找1个专门做这件事情的人来帮助我们搞定,这样的解决问题的方式我们就叫做面向对象的方式。

什么是对象?

对象是现实生活中的1个具体存在,看得见,摸得着,拿过来就可以直接使用。

什么是类?

类是对一群具有相同特征或者行为的事物的1个统称,抽象的,不能直接使用。

今天的分享结束了,再见~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单片机全局有必要封装_C语言开发单片机为什么大多数都采用全局变量的形式?...

全局变量简直就是嵌入式系统的戈兰高地。冲突最激烈的双方是1. 做控制的工程师 2. 做非嵌入式的软件工程师。第一派做控制的工程师。他们普遍的理解就是“变量都写成全局该有多方便”。我之前面试过一个非常有名的做控制实验室里出来的PhD/Master,前前后后陆续有快十…

html 最小边框宽度,css如何让div边框不占宽度?

HTML中,给一个DIV添加一个边框,那么这个DIV的宽度和高度就增加成为这个DIV的宽度加上这个边框的宽度,那么我们如何让边框不占宽度呢?我们做网站时可以添加边框box-sizing属性:让边框不占宽度,在DIV宽度内画…

android novate乱码,Novate 一款Android RxStyle的网络框架

功能优化设计:加入基础API,减少Api冗余强大的缓存模式: 支持离线缓存, 无网络智能加载缓存,可配置是否需要缓存cookie管理:自带cookie管理机制全方位请求模式:支持多种方式访问网络(get,put, po…

深圳市收运体系运营管理_华为公司质量管理体系构建和运营实践

导语:质量是一个产品乃至一个企业存在的基石,华为公司的质量管理理念和体系是什么,华为的质量管理如何运营的呢?华为公司如何发挥质量与运营部的作用确保产品和流程高效运作,满足客户需求呢?快来看看吧&…

语言列表导出xlxs_学习五分钟,掌握一种新语言。

有没有一种语言,既实用还能够短时间内学会并应用起来?当然有。小阳今天要教给大家的是一种标记语言——Markdown。经常上网的你,一定有注意到很多网页排版整齐、简洁优美,各级标题区分明显,文章逻辑清晰。难道他们是使…

登录页面html5 css3 js代码,H5+css3+js搭建带验证码的登录页面

本文实例为大家分享了H5css3js搭建带验证码的登录页面,供大家参考,具体内容如下login.htmlEasyBuy后台管理系统.main_bar{width:1350px;height:350px;background-color:#6495ED;margin-top:10%;}#login_form{width:40%;height:100%;background-color:#11…

w3c html规范规范文档,前端开发规范

为什么要有web网站前端开发规范手册?因为人多不一定就力量大,还有可能一团糟。因此为了提升团队凝聚力,统一团队代码风格,优化团队协作效率,需要推出专门的《前端开发规范手册》来约束同一项目不同程序员的代码风格。制定《前端开…

公需科目必须学吗_要考电工证吗?电工技术必须学的33招,电工技术知识

理了一下电工常用的技术口决,希望能给大家带来帮助!1,直接起动三相异步电动机的开关、熔断器的电流规格及电源容量最小值。电机满压直接起,铭牌电流五至七。容量不超十千瓦,否则设备撑不起。直接起动配开关&#xff0c…

html多级折叠菜单表单,JS实战篇之收缩菜单表单布局

获取节点的两种方式:1、通过event对象的srcElement属性;2、通过事件源对象用this传入。代码如下:收缩菜单 表单布局function list(dtNode){// var dtNode event.srcElement;var dlNode dtNode.parentNode;// alert(dtNode.nodeName"-…

html5 输入框有值无效,HTML5基础 input required 输入框内必须有内容

OS : Windows 10browser : Chrome 83.0.4103.116editor : Visual Studio Code 1.46.1typesetting : Markdown?htmlDocument?result?resource[ 教程 ] www.w3school.com.cn/html/index.asp[ 手册 ] www.w3cschool.cn/html5_reference.html[ 规范 ] www.runoob.com/html/html5…

网页设计 html鼠标悬停,利用css3实现的简单的鼠标悬停按钮

今天给大家分享一款基于css3的简单的鼠标悬停按钮。这款悬停按钮鼠标经过前边框是间断的。当鼠标经过的时候边框间隔消失。效果图如下:实现的代码。html代码:复制代码代码如下:Single gradient borderClick Me! Very long link text herePseudo elements…

计算机主机光盘故障,光驱常见故障及解决办法

很多人可能遇到过电脑不能识别驱的故障,那么小编就简单的给大家介绍一下,希望能帮助到大家。 原因分析: 该问题可能是注册表中存在错误的键值导致的。 终极解决方法: 提示:修改注册表有风险,请慎重操作。 1.按WinR键,输…

sts4创建spring项目_使用STS4新建springboot项目

1.配置maven,自定义setting文件和仓库,一定要用阿里云镜像地址下载依赖,官方太坑了,整了半天都没弄好,原来是下载太慢文件损坏alimavencentralaliyun mavenhttp://maven.aliyun.com/nexus/content/groups/public/pom 文…

工期计算机在线,工期日历计算器

工期日历计算器官方版工期日历计算器官方版是款适合很多行业中使用的做工工期计算工具。工期日历计算器中用户们可以设置开竣工日期后,自动计算工期,正好适合记录工期。工期日历计算器中还包括“起始日期、结束日期、间隔日起、工期天数”等计算功能。华…

python列表元素都加倍_关于python列表增加元素的三种操作方法

关于python列表增加元素的三种操作方法1、insert方法,该方法包含两个参数,第一个参数为插入的位置参数,第二个参数为插入内容a [0,0,0]b [1,2,3]a.insert(0,b)print a输出:[[1, 2, 3], 0, 0, 0]2、extend方法,该方法…

计算机应用基础山东省,2019年山东省中等职业学校对口升学考试:计算机文化基础+计算机应用基础模拟试卷...

&nbsp&nbsp[导读]:2019年山东省中等职业学校对口升学考试:计算机文化基础计算机应用基础模拟试卷。更多对口考试辅导资料请访问易考吧对口招生考试网山东省2019年中等职业学校对口升学考试:计算机文化基础计算机应用基础模拟试卷为了帮助广大考生…

小爱同学100个奇葩回复_杰理新一代蓝牙芯片将内置小爱同学,语音唤醒、降噪、连续对话加持蓝牙音箱...

在 11 月 20 日召开的小米 AI 生态峰会暨小爱同学 3.0 发布会上,珠海杰理科技作为小爱同学在芯片端赋能的代表企业,带来了 3 款内置小爱同学标准 SDK 的第二代降噪、语音唤醒蓝牙芯片。据杰理科技副总经理胡向军介绍,系列芯片将会于今年年底及…

react-native 显示html,react-native-webview加载本地H5

webview使用uri属性加载html资源。1.简单且常变动的需求可以选择加载远程网页地址2.当需要接入的网络资源很多,如一些独立的web应用,可以考虑本地接入针对本地接入方式进行记录。所有的静态资源如 css,js,img等都应该存储在本地。…

python一百行代码多少钱_用86行Python代码模拟太阳系

Python代码模拟的太阳系,包括了水星(Mercury), 金星(Venus),地球(Earth),月球(Moon),火星(Mars)上面的动画是我用86行Python代码模拟的一个比较真实的太阳系,用到的基本原理就是N体问题,这是计算天体物理里…

html还原ui,前端高度还原设计稿(字体篇)

前言:以前前端都是拿到psd设计图,需要自己用ps切图,需要自己在psd上面一个个去量设计的大小和间距,而现在一般都是要求设计师把设计稿直接上传到蓝湖上面,通过蓝湖的标注来写出前端代码!下面我就前端如何根…