OO思维
OO思维
考虑类
名词
属性
不可脱离具体的应用
方法
类与类之间的关系
public class Address{
private String name;
getter/setter();
Address(String name){
this.name = name;
}
}
隐藏(封装)
继承
xx是一种交通工具。
public abstract class Vehicle{
public abstract void go();
}
多态
public class Car extends Vehicle{
public void go(Adress dest){
System.out.println("冒着烟去"+dest.getName( ));
}
}
public class Place extends Vehicle{
public void go(Adress dest){
System.out.println("扇着翅膀去"+dest.getName( ));
}
}
public class Driver{
private String name;
public void drive(Vehicle v){
v.go(new Address("东北"));
}
}
客户端调用
Driver d = new Driver();
d.drive(new Car());
多态
核心中的核心
可扩展性。
设计
设计没有觉得的对与错
over design。想的太多了。没做完就跟没想是一样。
没有设计可以一步到位。
初学者不要考虑太多条条框框,实际动手最重要。
OO思维
考虑类
名词
属性
不可脱离具体的应用
方法
类与类之间的关系
public class Address{
private String name;
getter/setter();
Address(String name){
this.name = name;
}
}
隐藏(封装)
继承
xx是一种交通工具。
public abstract class Vehicle{
public abstract void go();
}
多态
public class Car extends Vehicle{
public void go(Adress dest){
System.out.println("冒着烟去"+dest.getName( ));
}
}
public class Place extends Vehicle{
public void go(Adress dest){
System.out.println("扇着翅膀去"+dest.getName( ));
}
}
public class Driver{
private String name;
public void drive(Vehicle v){
v.go(new Address("东北"));
}
}
客户端调用
Driver d = new Driver();
d.drive(new Car());
多态
核心中的核心
可扩展性。
设计
设计没有觉得的对与错
over design。想的太多了。没做完就跟没想是一样。
没有设计可以一步到位。
初学者不要考虑太多条条框框,实际动手最重要。