java编程思想chapter1
刚才登陆的时候发现自己已经三个月的园龄了,但是什么也没有写过,在单位的一段时间,还整天来园里面来看一下,在外边外勤以来,还没有登陆过,突然之间想写一下东西,还是在这里来写吧,毕竟,这里是程序员的网上家园。
这个项目以来,发现要用java来写,以前在上学的时候曾经看过一段java,但是从来没有上手做过项目,突然间做一个项目,而且自己还是负责一块,心中的压力自然会有的,有压力也有动力,所以看东西的热情也高了一些。听同事的推荐,看到是java编程思想,先粗略的看了一下,下载回过头来在读个几遍吧。以前看书总是讲究一个快字,想一切速成,现在感觉这样不太好,曾国藩家书上不也有:读书不二。所以这本经典的教材,决定好好的读上几遍,扎下一个坚固的基础。
今天来说第一章<对象导论>:一切皆是对象,在编程中要有这一种思想,那对象是干什么用的呢?对象是提供服务的。任何对象的建立都是为了提供一种或者几种服务。怎样提供服务?通过对象提供的接口。也就是从程序的开始来说,有数据的输入,经过一系列的服务,来提供一个问题空间的解。从这个意义上来说,程序最好的设计就是提供一个从问题空间到解空间的最大无关对象组。
接下来什么是问题空间?面对客户,客户说的最直接的也就是完成什么样的功能,也就是模块,模块能够干成什么。模块从哪里得到数据,通过手动输入,还是通过自动设备的上传等等。这就是问题空间。需求分析应该就是来描述用户的问题空间。
解空间就是具体编码者所要干的事情。将问题进行抽象化,提供接口。应对改变,需求变更。
所以面向对象编程是一种艺术,需要慢慢来修行。
程序的复用:
一是继承:
继承分为两种:一种是像一样,子类增加了父类的借口。另一种是是一样。子类对父类中的借口进行覆盖或者继承。
二是组合。
容器:适用于不知道要产生多少对象的情况,像list,set,map。泛型容器:添加容器的类型,增加程序效率,减少装箱拆箱的效率。
总的来说,程序就是一条生产线,需要什么样的服务就找什么样的服务。当然服务的设计是在前期完成的。通过一个对象的引用,也就是一个遥控器来向你所要的服务来发送消息。