黑马程序员技术交流社区

标题: 关于oc的问题,求解 [打印本页]

作者: 帅哥    时间: 2015-4-20 00:43
标题: 关于oc的问题,求解
以下是题目:
设计一个类Point2D,用来表示二维平面中某个点
1> 属性
* double _x
* double _y

2> 方法
* 属性相应的set和get方法
* 设计一个对象方法同时设置x和y
* 设计一个对象方法计算跟其他点的距离
* 设计一个类方法计算两个点之间的距离

这是其中的一句代码: 表示计算两点之间的距离
// x1 - x2
double xDelta = _x - [other x];
// (x1 - x2)的平方
double xDeltaPF = pow(xDelta,2);
//y1 - y2
double yDelta = _y - [other y];
//(y1 -y2)的平方
double yDeltaPF = pow(yDelta,2);
//返回距离

return sqrt(xDeltaPF + yDeltaPF);

不理解//x1-x2 那句的 _x - [other x]


谁能详细给讲讲啊  


作者: 海带    时间: 2015-4-20 00:43
  1. public class ReflectPoint {
  2.         private int x = 1;
  3.         private int y;
  4.         public ReflectPoint(){
  5.                
  6.         }

  7.         public ReflectPoint(int x, int y) {
  8.                 super();
  9.                 this.x = x;
  10.                 this.y = y;
  11.         }
  12.         public int getX() {
  13.                 return x;
  14.         }

  15.         public void  setX(int x) {
  16.                  this.x = x;
  17.         }

  18.         public int getY() {
  19.                 return y;
  20.         }

  21.         public void setY(int y) {
  22.                 this.y = y;
  23.         }
  24.         public  double getJuLi(ReflectPoint p1,ReflectPoint p2){
  25.                 return ( p1.getX()-p2.getX()) *( p1.getX()-p2.getX()) + (p1.getY()-p2.getY()) * (p1.getY()-p2.getY());
  26.         }
  27.         public String toString(){
  28.                 return "The point is"+"("+this.getX()+","+this.getY()+")";
  29.         }
  30. }
复制代码

作者: lvzhehappy    时间: 2015-4-20 16:56
[Other x]是一个获取成员变量x的get方法,在.Point2D.h中声明是- (double)x;
作者: 海带    时间: 2015-4-20 21:50
有点小毛病。getJuLi()方法忘记开方运算了,

作者: 东东西西    时间: 2015-4-20 23:42
牛逼哄哄  点赞
作者: 天凉好个秋。。    时间: 2015-4-21 00:45
{:2_31:}厉害,默默支持
作者: hexue1027    时间: 2015-4-21 09:40
_x 是当前对象的值  other   是对象  [other x]是获取对象的_x属性值  
作者: flowerdance    时间: 2015-4-23 11:38
请问你这个代码是怎么编辑的 能告诉我吗 好像不是直接复制粘贴
作者: flowerdance    时间: 2015-4-23 11:39
海带 发表于 2015-4-20 21:48

你好你的代码是怎么复制粘贴的 能告诉我吗 谢了
作者: 海带    时间: 2015-4-23 21:21
上面有个代码输入框——————"<>"
作者: 转街过巷    时间: 2015-4-28 13:43
[x other]获取传进来对象的_x属性。_x - [x other]表示的就是两个对象x坐标的差值。
作者: wangzhewjl    时间: 2015-5-7 13:31
自己访问自己是 成员变量 可以直接用_x  其实这里是[self x]自己调用自己的get方法  [other x]另外一个点对象other的x,也就是另外一个点other调用了get方法获取x的值;  你可以把_x -[other x]看做是 self->_x  -   other->_x
作者: CornerFly    时间: 2015-5-13 16:29
_x是调用该函数的点对象中的成员变量,other是求两点距离方法的形参(也就是另一个点对象),[other x]是指调用点对象other的get方法,返回_x的值




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2