作为产品经理,了解面向对象思想,更好地理解开发人员的思维,与开发人员更好地沟通,实现产品设计、开发过程的流畅。
对于产品经理来说,了解了面向对象的思想才会更容易理解开发人员的程序思维。系统的构建过程就是对象的构建过程,了解了这些与程序人员的沟通会更加顺畅。程序人员要实现面向对象的开发(OOP)就要先做好面向对象的设计(OOD),要做好面向对象的设计(OOD)就要先做好面向对象的分析(OOA),只有理解了什么是面向对象的思想,才能更多的参与到产品的分析、设计、开发中来,赢得更多的尊重。
90年代的开发人员是不知道什么是面向对象的,那时大家还在用BASIC和C语言进行开发,程序都是一条条代码写出来的,编程也是一件非常苦逼和有技术含量的事,当时硬件的发展还不够,开发人员的关注点是内存的占用率和文件大小。随着社会的发展,硬件变得越来越廉价,程序人员的关注点变为软件的优化,软件开发思想也从面向过程式的开发转为面向对象式的开发。
面向过程与面向对象
面向过程:面向过程强调的是“过程”,体现的是操作流程。
如:早上起床的过程,1洗脸、2刷牙、3准备早餐、4吃早餐、5出门上班。面向过程的开发思想与人的思维逻辑过程很相似,但不易于了解事物的整体。面向过程的开发语言有BASIC、C。
面向对象:谈面向对象就先要了解什么是对象,对象是事物存在的实体。
如:人、车、房、鸟等。对象可以划分为动态部分和静态部分,动态就是对象的行为,静态就是对象的特征。如鸟的飞、叫、吃食,这些是行为;鸟有嘴、翅膀、瓜子,这些是对象的特征,我们把行为叫做方法,把特性叫做属性。面向对象的开发语言有JAVA、C#等。
面向过程过多的强调流程,关注细节就容易忽略整体,当我们只关注一个点时是很难了解事物的全貌,不利于大系统的开发。面向对象关注的是系统中的实体及实体间信息的交互,会更宏观的了解事物,有利于大系统的开发。
细说面向对象
对象就是实体,在系统中很多实体是有共性的(相同的特征与行为),把共性抽象出来就产生了“类”,类的具体化就是对象,对象的抽象就是类。
例如,一只大象是一个对象,大象的行为有喝水、走路、吃饭等,特征有长鼻子、四条腿、象牙等,把这些共性抽象成大象类。(类的方法:喝水、走路、吃饭;类的属性:长鼻子、四条腿、象牙),对于没有象牙的大象属于