设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
面向对象的思想:产品经理需要知道的技术知识 ...
返回列表
查看:
502
|
回复:
0
面向对象的思想:产品经理需要知道的技术知识
[复制链接]
新格网络
当前离线
积分
7789
2617
主题
2617
帖子
7789
积分
论坛元老
论坛元老, 积分 7789, 距离下一级还需 9992210 积分
论坛元老, 积分 7789, 距离下一级还需 9992210 积分
积分
7789
发消息
电梯直达
楼主
发表于 2018-2-17 16:40:19
|
只看该作者
|
倒序浏览
|
阅读模式
作为产品经理,了解面向对象思想,更好地理解开发人员的思维,与开发人员更好地沟通,实现产品设计、开发过程的流畅。
对于产品经理来说,了解了面向对象的思想才会更容易理解开发人员的程序思维。系统的构建过程就是对象的构建过程,了解了这些与程序人员的沟通会更加顺畅。程序人员要实现面向对象的开发(OOP)就要先做好面向对象的设计(OOD),要做好面向对象的设计(OOD)就要先做好面向对象的分析(OOA),只有理解了什么是面向对象的思想,才能更多的参与到产品的分析、设计、开发中来,赢得更多的尊重。
90年代的开发人员是不知道什么是面向对象的,那时大家还在用BASIC和C语言进行开发,程序都是一条条代码写出来的,编程也是一件非常苦逼和有技术含量的事,当时硬件的发展还不够,开发人员的关注点是内存的占用率和文件大小。随着社会的发展,硬件变得越来越廉价,程序人员的关注点变为软件的优化,软件开发思想也从面向过程式的开发转为面向对象式的开发。
面向过程与面向对象
面向过程:面向过程强调的是“过程”,体现的是操作流程。
如:早上起床的过程,1洗脸、2刷牙、3准备早餐、4吃早餐、5出门上班。面向过程的开发思想与人的思维逻辑过程很相似,但不易于了解事物的整体。面向过程的开发语言有BASIC、C。
面向对象:谈面向对象就先要了解什么是对象,对象是事物存在的实体。
如:人、车、房、鸟等。对象可以划分为动态部分和静态部分,动态就是对象的行为,静态就是对象的特征。如鸟的飞、叫、吃食,这些是行为;鸟有嘴、翅膀、瓜子,这些是对象的特征,我们把行为叫做方法,把特性叫做属性。面向对象的开发语言有JAVA、C#等。
面向过程过多的强调流程,关注细节就容易忽略整体,当我们只关注一个点时是很难了解事物的全貌,不利于大系统的开发。面向对象关注的是系统中的实体及实体间信息的交互,会更宏观的了解事物,有利于大系统的开发。
细说面向对象
对象就是实体,在系统中很多实体是有共性的(相同的特征与行为),把共性抽象出来就产生了“类”,类的具体化就是对象,对象的抽象就是类。
例如,一只大象是一个对象,大象的行为有喝水、走路、吃饭等,特征有长鼻子、四条腿、象牙等,把这些共性抽象成大象类。(类的方法:喝水、走路、吃饭;类的属性:长鼻子、四条腿、象牙),对于没有象牙的大象属于个性化对象,不属于大象类。软件工程的一个重要思想就是“高内聚、低耦合”,它是判断设计好坏的标准,应用于面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
通过高内聚可以更好的增强对象内部的粘性,将复杂性交给对象内部解决,对外只需留有接口。对象与对象间的交互信息尽量减少,降低信息的关联性,通过低耦合可以有效的降低对象间的依赖,降低理解成本及交互成本。
面向对象的三个基本特性:封装、继承、多态。
封装是对象的最重要特性,对象的实现细节都被封装在类中,对于用户是隐藏的。
类与类之间通过消息进行信息的传递,类中对内的方法与属性是私有的,对向的方法与属性是公有的,只有公有的方法与属性才能与外部进行交互。
如:汽车,用户是不用关心汽车发动机、制动系统与导航系统,用户是通过方向盘、各种开关、刹车和油门与汽车进行交互,用户无须了解汽车的工作原理。
继承是对象的另一个重要特性,类与类之间是可以有继承关系的,子类继承了父类,就拥有了父类的属性与方法。
图形类的关系图如下:
上面说的继承,儿子(子类)继承父亲(父类),那么儿子就拥有了父亲的所有财产(父类的方法和属性),儿子可以直接用。但有的东西儿子继承来了不一定有用,需要根据儿子的特点改造,如:鸟(父类)有飞行的能力,但有的鸟飞行方式有所不同,像蜂鸟。蜂鸟就可以重写鸟类的飞行方法,以实现自己独特的飞行方式。继承可以让儿子拥有父亲的财产,那么父亲为什么不可以用儿子的财产呢?这就是向后兼容,让父亲(父类)指向儿子(子类),实现儿子(子类)的方法。
这种向后兼容,父类指向子类并调用子类的方法就是多态。多态实现了父类指向子类,并可调用子类的方法,这样有利于提高程序的扩展性和可维护性。
通过面向对象的方式,让大的系统开发变为可能,在系统中将对象抽象成类,再通过继承与信息交互建立起类与类的关系,增强了代码的重用性,减少了重复性劳动。将复杂的问题封装起来,对外只需要暴露出必要的接口,减少信息的交互,增强对象内部的内聚性,使系统分割清晰,简单明了。通过多态性,让对象增加了更多的可能性,增强对象的扩展性及维护性。通过对象的方式可以把世界看得更加清晰、透彻。
一座大厦的建立需要无数的砖头、水泥和钢筋,它们就是构建起这座大厦的对象,砖头如何烧制的我们不用管,只需要直接使用砖头对象就好了。
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端