编程思想之理解面向对象
编程思想的最佳实践过程就是贯穿面向对象实施的全部过程,该过程包括面向对象分析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总结,文中若有概念理解错误或者不对的地方,请您批评指正。