----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! --------
黑马程序员_向对象的核心思想+实例Day15
(简单分析与理解)
核心:谁拥有数据,谁就是操作这个方法的对象.
例子:
人在黑板上画圆
Person,blackboard,circle
Draw()
{
X,y radius
}
这个画圆的方法应该在circle类上。
人踩煞车,车不动了。
车子不动,是由于车子的作用,而人只是调用车子的方法。
人去关门
关门的动作是由人发出的,但是门是自己关的,也就是关门这个方法是门自己完成。
来看一个经典的面试题:
用面向对象的思想设计“一个球从绳的一端到另一端”
我们设计了一下的类
分析:
绳子上有一个开始的点与结束点。同时有一个求下一个点的方法nextPoint()
对于我们的球我们只要知道现在的点currentPoint,以及在哪根绳子上Rope rope,同时有一个可以move的方法。
package OO;
public class Rope {
/**
* @param args
*/
public static Point startPoint;
public static Point endPoint;
public Rope(Point startPoint,Point endPoint)
{
this.startPoint=startPoint;
this.endPoint=endPoint;
}
public Point nextPoint()
{
return null;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
public class Boll
{
public Rope rope;
public Point currentPoint;
public Boll(Rope rope,Point startPoint)
{
this.rope=rope;
this.currentPoint=startPoint;
}
public void move()
{
currentPoint= rope.nextPoint();
}
}
----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! --------