没搞懂双向关联的意义
在添加的那段方法里,多加this的代码与没加this的代码最终实现效果都是一个学生报名。 这个双向关联的方便之处在哪里?,它能节省程序的代码量吗,或者能靠它在subject类里直接输出student类的全部信息?麻烦老师举个例子!
正在回答
同学你好,1. 是可以的。
2.关联只是通过关联属性获取关联类中的信息,所以是无法忽略学生显示方法,则建议在学生类中定义学生显示方法。
3. 如果在sub类里做了与stu类的双向关联,则可以在sub类中通过关联属性调用stu类中可访问的属性与方法。也可以在stu类中通过关联属性调用sub类中的可访问属性与方法。
4. 关联只是通过类中的属性进行连接的,则在类中应该存在的方法与属性还是需要定义的。不过通过关联是可以省略一些构造中的参数,但在创建对象时不是一定要进行关联,所以建议创建多个带参构造,避免出现未给属性赋值的情况。
注:同学可以多复习几遍课程,便于理解。
祝学习愉快!
同学你好,1. 在普通方法里可以直接调用当前类的属性与方法的,所以可以添加this也可以不添加。
2. 双向关联可以互相获取信息。譬如:学生单向关联课程之后,就可以获取该学生总共学习了多少课程;课程单向关联学生之后,也就可以获取该课程有多少学生报名学习;当两者同时关联对方,也就是实现双向关联之后,就可以实现同时获取两方的信息啦,即:某个学生报名了多少课程,以及某个课程有多少学生报名。如下所示:
Subject sub1=new Subject("计算机科学与应用","J0001",4);//创建对象的时候属性并没有学生 Student stu1=new Student("S01","张三","男",200);//初始化的时候,属性也没有学科 sub1.addStudent(stu1);//使用这个代码设置学生和学科的关联,为stu1的studentSubjec属性赋值。 //同时为sub1的属性myStudents数组的元素赋值
祝学习愉快~
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星