编程思想之理解面向对象

编程思想的最佳实践过程就是贯穿面向对象实施的全部过程,该过程包括面向对象分析OOA、面向对象设计OOD、面向对象编程OOP。实施该过程也就是巧妙地综合运用“符号语言”进行实践的过程。没有完美的问题解决方案,只有最适合的问题解决办法,这是在实践过程中需要整体贯穿的基本思想和策略。代码实现只是最后打通任督六脉一个环节。面向对象的一些基本特点就是:封装、继承、多态、“抽象”。

面向对象分析OOA

面向对象分析就是通过和客户的交谈,沟通。从与用户沟通的记录中找出需要的Class,去除多余的、重复的(重构),删除具有不确定的概念(如系统稳定性)。一个基本的分析方法就是:将用户的语音或沟通描述文字化,最后整理成一份通顺、完整的文档。从文档中找出“名词”作为Class(即封装),“动词”作为“名词”的方法或函数,多个相同的动词要重载;找出关于名词描述的特点的词语作为Class的属性。同时为所有的对象划定一个区域(即边界),不确定的或者未知的对象规划到边界以外。

例如:用户可以下订单购买商品。

分析:

描述缺陷:“用户”指的谁?管理员?买家?卖家?

修改后:买家用户可以下订单购买商品。

抽取类:

买家用户类

    动作:下订单

订单类

商品类

面向对象设计OOD

OOD就是讲OOA的分析结果采用接近于代码的符号描述语言画、或设计出来如UML类图工具。基于以上的分析我们可以发现,系统中存在多个角色(管理员,买家,卖家),同样都是用户但所使用的功能是不用的,这一点可以用类继承的方式实现(未考虑权限功能,只仅描述继承特性)。类如下设计:

public class User

public class Admin : User

public class Businesses : User

public class Buyers : User

    method:Buy()

public class Orders

public class Commodity

面向对象编程OOP

此实施过程就是编码人员实现代码细节的过程,实施过程中尽量多使用重构等。

public class Buyers : User

method:Buy(){

    //实现用户购物的代码逻辑

}

结语

以上内容是我的关于面向对象编程方面的一些easy总结,文中若有概念理解错误或者不对的地方,请您批评指正。

posted @ 2013-01-12 14:11  SmartBooks  阅读(1545)  评论(0编辑  收藏  举报