合适的方法放在合适的类之中。
设计中,分解出应该具有哪些对象(面向对象),不要再想步骤了(这是面向过程)。设计过程:
step1:问题中有哪些类和对象(找名词,之后区分是类还是属性)
step2:这些类和对象的属性和方法
step3:类和类之间具备的关系(下面五种关系)
属性(成员变量,attribute)和方法(成员方法,method)分别表示静态属性和动态属性。
设计的时候,用到的关系
1、关联关系:一般是一个类的方法里是另外一个类的对象。如一个教室的“teach()”方法中以研究生为参数。(是最弱的关系)
2、继承关系:只允许单继承(C++中有多几次,但是如果出现两个父类重名则很麻烦)
3、聚合关系:xx是xx的一部分。分两种:比较松的关系成为聚集,另一种是密不可分的关系是组合。
4、实现关系:接口。父类只知道子类应该具有这种方法,但不知道怎么去实现,所以由子类来实现。
5、多态