OO Design

第二章上来就做OO Design,用的是最常用的shape的例子,shape包括circle, rectangle, square还有个不规则图形,需要的方法包括rotate()和playSound(). 然后,从procedure和OO的角度做了这个事儿。

因为不规则图形,需要专门绕着某个点rotate()然后play完全不同的Sound,所以,superclass是shape,然后subclass是各种具体形状,其中不规则图形的rotate()和playsound()方法都需要@override。

Override就是某个subclass全方位重写某个method。

创建一个class的时候要思考两个问题

1. Things the object knows (attributes)
2. Things the object does (methods)

明确一个概念,class不是object,但是他是用来生成object的。

书里面说需要两个class,其中一个是具体的xxx class,另一个叫做xxxTestDrive class,只有testDrive里面有main(),因为需要用它来test之前的xxx class功能是否适用。

书中讲到其实并不能用main()去调用各个类,真正的OO是用class调用class的,用object调用object的,而main()只起到tester或者entry的作用。

接着又做了一个GuessGame的例子,包含了GameLauncher, Game, Player三个object。

results matching ""

    No results matching ""