作业求解以及get方法的疑问
来源:2-21 编程练习
做条咸鱼才最好
2021-07-07 23:03:16


图1:这里属性默认值,是在父类直接初始化为对应值吗?还是在get里面加if,如果传默认值0就赋值2和1?
图2:无参构造中赋值
方法体这样写吗?this.setTyreNum(3); 还是 this.tyreNum=3;两种哪种好点?
第三个问题:get/set方法get方法体,return this.属性名可以用吗?和return 属性名有区别吗?
在有继承关系的父类和子类中,直接return 属性名 ,是返回调用对象的属性还是父类中的属性?
1回答
同学你好,解答如下:
1、属性默认值是在父类中直接进行初始化,无需在get方法中使用if判断,可在定义属性时直接对属性进行初始化赋值。

2、轮子属性是需要定义在父类中的私有属性,所以在子类中无法使用this.tyreNum方式访问。
可以在无参构造方法中使用this.setTyreNum(3); 或super.setTyreNum(3);都是可以的。
另外轮子是定义在父类中的属性,所有子类共有的,所以建议将轮子属性名修改为 wheelNum。
代码如下:


3、get方法返回值:return this.属性名与return 属性名的效果是一致的,没有区别。
'return 属性名'这种方法的属性名前未写this但默认也是有this的。
4、子类无法访问父类的私有属性。一般情况下return 属性名,返回的是当前类中定义的属性。
祝学习愉快~
相似问题