为了账号安全,请及时绑定邮箱和手机立即绑定

求解答问题

求解答问题

月亮岛Superman 2017-03-26 22:10:47
求助大神帮我看下这段代码里面  getDistance 方法中的 (x - p.x)*(x - p.x) + (y - p.y)*(y - p.y) + (z - p.z)*(z - p.z)这其中 p.x 的值是多少?是1.0 还是 0.0?  这其中的x又是多少为什么?
查看完整描述

1 回答

已采纳
?
尧叔

TA贡献77条经验 获得超201个赞

我们只分析第一个getDistance中的x值,因为其他值都类似。

调用方法:

Point p = new Point(1.0,2.0,3.0);
Point p1 = new Point(0,0,0);
//调用p的getDistance()方法;
p.getDistance(p1);
double getDistance(Point p){
    //这里x是本身的x 
    //p.x很明显是传进来的Point p的x
    (x - p.x)*(x - p.x) .....
}

所以可以得出:

对于方法中 p.x 就是传入的p1的x属性 0.0

x就是p本身的属性x 值为1.0;


查看完整回答
1 反对 回复 2017-03-27
  • 月亮岛Superman
    月亮岛Superman
    您好,对于Point方法中定义的_x 跟void setX 方法中定义的_x 这两个_x 不是同一个吧?因为方法中定义的参数作用域只在这个方法内。 而Point方法和getDistance方法 中的x 应该是一个值吧? 因为x是定义在class类中的,作用域为整个类。 这样理解对吗?
  • 羽觞丨醉月
    羽觞丨醉月
    _x只是一个方法的参数,它只是代表着 你要想调用这个方法,你就要有一个参数传给它。而_x的值就是你通过方法传给它的值
  • 尧叔
    尧叔
    我觉得,面相对象的语言先要通过面向对象的思维把属性什么的先理解,刚入门用这种抽象的数学案例来理解制造了不必要的麻烦。在这里,点这个类的属性有x坐标和y坐标,每个点实例有自己的x坐标和y坐标,构造函数和set方法都是在初始化该点的属性,既然是设置就是把自己的属性设置成外界方法传入的属性。标准的set方法是用this来修饰的,this可以省略,用this修饰代表该实例自己的属性,方便理解,你可以查一下,手机不方便输入。
  • 1 回答
  • 0 关注
  • 1109 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号