必威体育Betway必威体育官网
当前位置:首页 > 运营推广

面向对象的思想:产品经理需要知道的技术知识

时间:2019-07-28 10:11:03来源:运营推广作者:seo实验室小编阅读:86次「手机版」
 

面向对象思想

作为产品经理,了解面向对象思想,更好地理解开发人员的思维,与开发人员更好地沟通,实现产品设计、开发过程的流畅。

对于产品经理来说,了解了面向对象的思想才会更容易理解开发人员的程序思维。系统的构建过程就是对象的构建过程,了解了这些与程序人员的沟通会更加顺畅。程序人员要实现面向对象的开发(OOP)就要先做好面向对象的设计(OOD),要做好面向对象的设计(OOD)就要先做好面向对象的分析(OOA),只有理解了什么是面向对象的思想,才能更多的参与到产品的分析、设计、开发中来,赢得更多的尊重。

90年代的开发人员是不知道什么是面向对象的,那时大家还在用BASIC和C语言进行开发,程序都是一条条代码写出来的,编程也是一件非常苦逼和有技术含量的事,当时硬件的发展还不够,开发人员的关注点是内存的占用率和文件大小。随着社会的发展,硬件变得越来越廉价,程序人员的关注点变为软件优化,软件开发思想也从面向过程式的开发转为面向对象式的开发。

面向过程与面向对象

面向过程:面向过程强调的是“过程”,体现的是操作流程。

如:早上起床的过程,1洗脸、2刷牙、3准备早餐、4吃早餐、5出门上班。面向过程的开发思想与人的思维逻辑过程很相似,但不易于了解事物的整体。面向过程的开发语言有BASIC、C。

面向对象:谈面向对象就先要了解什么是对象,对象是事物存在的实体。

如:人、车、房、鸟等。对象可以划分为动态部分和静态部分,动态就是对象的行为,静态就是对象的特征。如鸟的飞、叫、吃食,这些是行为;鸟有嘴、翅膀、瓜子,这些是对象的特征,我们把行为叫做方法,把特性叫做属性。面向对象的开发语言有java、C#等。

面向过程过多的强调流程,关注细节就容易忽略整体,当我们只关注一个点时是很难了解事物的全貌,不利于大系统的开发。面向对象关注的是系统中的实体及实体间信息的交互,会更宏观的了解事物,有利于大系统的开发。

细说面向对象

对象就是实体,在系统中很多实体是有共性的(相同的特征与行为),把共性抽象出来就产生了“类”,类的具体化就是对象,对象的抽象就是类。

例如,一只大象是一个对象,大象的行为有喝水、走路、吃饭等,特征有长鼻子、四条腿、象牙等,把这些共性抽象成大象类。(类的方法:喝水、走路、吃饭;类的属性:长鼻子、四条腿、象牙),对于没有象牙的大象属于个性化对象,不属于大象类。软件工程的一个重要思想就是“高内聚、低耦合”,它是判断设计好坏的标准,应用于面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

通过高内聚可以更好的增强对象内部的粘性,将复杂性交给对象内部解决,对外只需留有接口。对象与对象间的交互信息尽量减少,降低信息的关联性,通过低耦合可以有效的降低对象间的依赖,降低理解成本及交互成本。

面向对象的三个基本特性:封装、继承、多态。

封装是对象的最重要特性,对象的实现细节都被封装在类中,对于用户是隐藏的。

类与类之间通过消息进行信息的传递,类中对内的方法与属性是私有的,对向的方法与属性是公有的,只有公有的方法与属性才能与外部进行交互。

如:汽车,用户是不用关心汽车发动机、制动系统与导航系统,用户是通过方向盘、各种开关、刹车和油门与汽车进行交互,用户无须了解汽车的工作原理。

继承是对象的另一个重要特性,类与类之间是可以有继承关系的,子类继承了父类,就拥有了父类的属性与方法。

图形类的关系图如下:

上面说的继承,儿子(子类)继承父亲(父类),那么儿子就拥有了父亲的所有财产(父类的方法和属性),儿子可以直接用。但有的东西儿子继承来了不一定有用,需要根据儿子的特点改造,如:鸟(父类)有飞行的能力,但有的鸟飞行方式有所不同,像蜂鸟。蜂鸟就可以重写鸟类的飞行方法,以实现自己独特的飞行方式。继承可以让儿子拥有父亲的财产,那么父亲为什么不可以用儿子的财产呢?这就是向后兼容,让父亲(父类)指向儿子(子类),实现儿子(子类)的方法。

这种向后兼容,父类指向子类并调用子类的方法就是多态。多态实现了父类指向子类,并可调用子类的方法,这样有利于提高程序的扩展性和可维护性。

通过面向对象的方式,让大的系统开发变为可能,在系统中将对象抽象成类,再通过继承与信息交互建立起类与类的关系,增强了代码的重用性,减少了重复性劳动。将复杂的问题封装起来,对外只需要暴露出必要的接口,减少信息的交互,增强对象内部的内聚性,使系统分割清晰,简单明了。通过多态性,让对象增加了更多的可能性,增强对象的扩展性及维护性。通过对象的方式可以把世界看得更加清晰、透彻。

一座大厦的建立需要无数的砖头、水泥和钢筋,它们就是构建起这座大厦的对象,砖头如何烧制的我们不用管,只需要直接使用砖头对象就好了。

相关阅读

产品经理是条狗

今天,给大家推荐一首关于产品经理的歌,小编我听完以后痛苦好几次,唱出了产品经理的心声。歌词如下:我睡得比猫晚 起得比鸡还早工作在

很多IT人士的疑问:你们产品经理究竟是做什么的?

上次回家遇到同学,说起以前他校招的时候给我投产品经理的简历被我刷掉的事情。我于是便问他一个我问过所有候选人的问题:你究竟为什

后台产品经理:三步教你打造简单的营销平台(一)

后台产品设计充斥至逻辑、判断、流程、数据库运行效率、服务器管理权限等多维度多角度的元素,本文作者主要用九年的产品经验,梳理总

产品经理日报:工作习惯决定你能走多远

半个月没写东西了,很忙。忙归忙,但不能瞎忙,而且忙完不能没有思考和总结,所以今天才一定要熬夜写些东西分享,也是自己的提升。上午总监

从需求分析到原型制作,到需求文档,产品经理会掉进哪些坑

从最开始的对于产品经理这个职位不屑一顾,认为不接触代码、不做设计,工作主要建立在沟通打杂这件事上,工作室会比较轻松,但后来真正实

分享到:

栏目导航

推荐阅读

热门阅读