一开始看java的时候对oo还是感觉比较好理解的,可是到了写代码的时候,就开始迷惑了。
比如说写一个类 狗, 狗有属性: 颜色,重量,品种等,还有若干方法,比如说吃,跑,叫
那么按照oo就可以写成
class Dog implements ActionListener{
Color dogcolor = null;
Float dogweight = 0;
String dogbreed = "";
public void Dog(Color c,Float dw,String dbd) {
this.setColor(c);
this.setWeight(dw);
this.setBreed(dbd);
}
public void ActionListener(ActionEvent e){
if(ae.getSource()==hungry && food!=null) {
eatFood(food);
}
if(ae.getSource()==destination) {
run();
}
if(ae.getSource()==alert) {
gnar();
}
}
void eatFood(Food f) {
while(f==0 || full==true) {
f--;
eatfood++;
}
}
void run() {
while(hypodynamia==true || destination==true) {
this.location(x++,y++);
this.strength--;
}
void gnar() {
while(hypodynamia==true || alert==false) {
this.sound();
this.strength--;
}
}
这么理解对么?
还是应该把eatFood 写到Mouth 类里面 再把Dog里面添加Mouth的对象?