面向对象的理解

1.面向对象的思想:谁拥有数据,谁就提供操作数据的方面。
eg1:售票员统计票上的数据这个过程中统计方法是票据提供的。
eg2:两块石头磨成一块石刀,石刀砍树,砍成木材,木材又变成椅子
eg3.一个小球从绳子一端移到至另一端。
就第二个例子而言,石头变成石刀,这个变成的方法不应该是石头提供的,因为一般没有一个对象的方法能将自己变没,变成另外一个对象,可以说成是三刀加工厂提供createStoneKnife方法,将石头变成石刀。
之后,石刀提供cut方法将树变成木材,再后来,木材变成椅子,变成这个方法又不是木材提供的,应该是一个椅子制造厂提供的。
所以本例的类有
Stone
StoneKnifeFactory
StoneKnife
Tree
Wood
ChairFactory
Chair
其中StoneKnifeFactory中有一方法 public StoneKnife createStoneKnife(Stone first,Stone second).
StoneKnife中有一方法 public Wood cut(Tree tree);
ChairFactory 中有一方法 public Chair createChair(Wood wood);
就第三个例子而言,有两个对象,小球与绳子。两者有什么关系呢?
绳子为小球提供方向。小球要向绳子询问下一个点的位置。
所以绳子有两个成员变量,起点与终点。
小球则有一个绳子变量与一个起点变量。
如下:
class Rope{
private Point start;
private Point end;
public Point nextPoint(Point currentPoint);
}

class Ball{
private Rope rope;
private Point currentPoint;
public void move(){
Point nextpoint=rope.netPoint(currentPoint);
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值