黑马程序员 面向对象的分析与设计
来源:互联网 发布:知乐胶囊为什么这么贵 编辑:程序博客网 时间:2024/06/09 14:26
-------Android培训 、java培训 、期待与您交流 -------
java是一门面向对象的编程语言,在java的学习中,我们必须有面向对象的思维模式,用面向对象的方法来思考问题和解决问题。在javaAPI中,提供了多个类和接口,以及类中定义的各个方法,程序员需要做的就是熟悉并能正确使用他提供的方法进行程序的编写,然而,万物皆对象,javaAPI虽然很丰富,但是并不能描述所有的事物,这就要求我们程序员在学习中不仅要学会java的API,还能够通过学习java的API,了解java类的底层实现方式,从而能够编写出自己的java类来实现项目的需求。
java面向对象设计要把握一个重要的经验:谁拥有数据,谁就对外提供操作这些数据的方法。一般在java类中,我们的数据都是私有的,为了方便外界能够访问,查找,修改数据,必然会提供对外访问的方法,这个方法就定义在该类中。例如,人开门,那么开门这个方法究竟是人这类事物的方法还是门这个事物的方法呢,我们知道门打开依靠的是门内的弹簧,那么这个弹簧就是门内部的数据,并且是私有的,人是不知道的,因此我们说开门这个方法是门的方法。同理我们说列车司机紧急刹车,根据同样的分析方法,我们知道刹车的方法是车子的方法,人只是在用这个方法而已。
再例如,有这样一个需求:“用石头磨成石刀,再用石刀砍树,将树变成木材,再把木材加工成椅子”,那么我们可以抽取出以下几个类,石头(Stone)类,石刀(StoneKnife)类
,输(Tree)类,木材(Matearial)类,椅子(Chair)类,我们对这几个类进行分析,把石头变成刀必然不是自己累不的方法,因为他的内部并没有石刀这个属性,因此,我们要定义一个石工加工厂(KnifeFactory)类,他的内部有一个create(Stone stone)方法,该方法接收一个石头对象,并且返回的是一个石刀,这时我们就有了石刀,石刀内部定义一个cut(Tree tree)方法,该方法接收一个Tree对象,并返回一个木材(Material),于是我们就有了木材,最后我们又定义一个椅子加工厂(chairFactory)类,在该内部定义一个造椅子的方法makeChair(Material material),将木材加工成椅子。就实现了需求。
总结起来如下:
class Stone{ }class KnifeFactory{ StoneKnife stoneknife; public StoneKnife(Stone stone){ return stoneknife;}}class Tree{}class StoneKnife{Material material;public Material cut(Tree tree){return material;}}class ChairFactory{ public Chair makeChair(Material material){ return chair;}}class chair{}
- 黑马程序员 面向对象的分析与设计
- 黑马程序员_面向对象的情景分析与设计
- 黑马程序员 面向对象的分析与设计
- 黑马程序员 面向对象分析与设计的原则
- 黑马程序员---java面向对象分析与设计
- 黑马程序员_面向对象思想分析与设计
- 黑马程序员--面向对象的设计思想
- 黑马程序员-面向对象的设计原则
- 黑马程序员--面向对象设计
- 黑马程序员_交通灯管理系统_面向对象的分析和设计
- 黑马程序员 转载---> 面向对象与类之设计技巧
- 黑马程序员---3 面向对象--静态与单例设计
- 黑马程序员---面向对象与面向过程
- 面向对象的分析与设计
- 面向对象的分析与设计
- ICONIX--面向对象的分析与设计
- 面向对象的分析与设计
- 面向对象的分析与设计
- 软件通信之HTTP通信协议
- The Ruby_Newbie Guide to Symbols
- 2013-05-19
- wine相关
- 获取年月日
- 黑马程序员 面向对象的分析与设计
- 【OC】OC description方法
- spring学习笔记(二)
- 浅谈开发模式(一)--工厂模式
- 快速求1000,000范围内的所有素数,复杂度为O(n)
- 段式和页式存储管理试题及答案(整理)
- verilog中defparam的用法
- hibernate二级缓存配置
- 动态调用WebService(C#)