经常拿起软件开发的书,都提到到了面向对象,我刚接触软件开发只有几个月,觉的跟书上讲的大同小异,那么什么叫面向对象了,其实我也还不是很清楚,有人说是一种高级语言特有的,更有行外者说到“是坐在女朋友对面”的意思。面向对象是是要突破思想的束缚,说难很难的,说简单也很简单,我凭着对程序的热爱从事了这方面的工作,现在虽不说对他很精通,最起码对面向对象有了感性的理解和认识。
在理解面相对像之前,我们先来了解一下“对象”,对象可以说是自己的女朋友,更加可以说是大千世界中物体在人脑的印象,是人意识之所以为意识的反应,是做为一种概念而存在的先念的东西,他包括人的意愿。从系统的角度就是问题或者实现域中某个问题的抽象,它反应此事务在系统中需要保存信息和发挥的作用。简单的来说,万物皆对象,一棵树,一个人,一个公司都可以说是一个对象。下面我不多讲了,直切主题,面向对象就是我们解决问题的一种方法,特别是指应用软件技术来解决问题的方法。在面对比较复杂的系统时候,我们可以把它作为一个对象来分析。一个系统(解决方案)作为一个对象,可以由多个部分组成,同样这个对象可以由多个对象组成,同类的事务可以有一个对象来表示,这样做的益处显而易见的,它的灵活而高效,可以大大减小设计人员的工作量,简化实际模型。
面向对象又分为 面向对象分析(Object-Oriented Analysis),面向对象设计(Object-Oriented Design), 面向对象编程(Object-Oriented Progamming)等
面向对象分析ooa 是一种分析方法,他可以在问题域的词汇表中找到类和对象的观点来审视需求
面向对象设计ood 是一种设计方法,它包含面向对象的分解过程,以及一种表示的方法,用来描述设计中系统的逻辑模型和物理模型,以及静态模型与动态模型。
面向对象编程oop是一种实现方法,程序被组织成对象协作的集合,每一个对象代表某个类的实例,对象的类是通过继承关系联合在一起的类层次中的所有成员,简单的理解,面向对象是一种软件开发过程中处理问题的方法,可以理解为“以对象为核心”或“从对象的角度出发来考虑。而对象具有与现实世界的某种对应的关系,利用这种关系对问题来进行分解。
面向对象的特点:封装,继承,多态
面向对象分析:1.建立功能模型,2.建立对象模型,3.建立动态模型,3.定义服务
设计原则:1.优先使用组合,而非继承 2.针对接口编程而非接口的实现 3.开放—封闭法则(OCP)
4.LisKov替换法则(LSP) 5.单一职责原则(SRP)
6.依赖倒置原则(DIP) 7..接口分离原则(ISP)
总之面向对象是对类的设计,类的作用是产生对象,大众化的理解是面向对象就是坐在女朋友的对面,那是我们行业外的人的深思!!