OO思维:
1.考虑类
× 名词
2.考虑类的属性
× 不可脱离具体的应用环境
3.方法
4.类之间的关系
5.隐藏(封装)
× 降低耦合度
6.继承
7.多态
如:老张开车去东北。
这句话有 司机,车,东北三个名词。因此可以建立司机(Driver),车(Car),地点(Address)三个类。
司机里面有一个开车的方法 drive(Car car)或drive(Car car,Address ades)。车里面有一个去哪里的方法go(Address ades)
但是我们要添加一个新的交通工具呢,因此我们应该抽象一个交通工具类(Transport),并且让所有的交通工具继承Transport
测试类:
1.考虑类
× 名词
2.考虑类的属性
× 不可脱离具体的应用环境
3.方法
4.类之间的关系
5.隐藏(封装)
× 降低耦合度
6.继承
7.多态
如:老张开车去东北。
这句话有 司机,车,东北三个名词。因此可以建立司机(Driver),车(Car),地点(Address)三个类。
司机里面有一个开车的方法 drive(Car car)或drive(Car car,Address ades)。车里面有一个去哪里的方法go(Address ades)
public class Address {
private String name;
public Address(String name) {
super();
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Car{
public void go(Address ades){
System.out.println("冒着烟去了" + ades.getName());
}
}
public class Driver {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void drive(Car car){
car.go(new Address("东北"));
}
public void drive(Transport trans,Address ades){
trans.go(ades);
}
}
但是我们要添加一个新的交通工具呢,因此我们应该抽象一个交通工具类(Transport),并且让所有的交通工具继承Transport
public abstract class Transport {
public abstract void go(Address adre);
}
测试类:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Driver d=new Driver();
d.setName("老张");
d.drive(new Plane(),new Address("东北"));
}
}