没搞懂双向关联的意义

没搞懂双向关联的意义

在添加的那段方法里,多加this的代码与没加this的代码最终实现效果都是一个学生报名。 这个双向关联的方便之处在哪里?,它能节省程序的代码量吗,或者能靠它在subject类里直接输出student类的全部信息?麻烦老师举个例子!

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,1. 是可以的。

2.关联只是通过关联属性获取关联类中的信息,所以是无法忽略学生显示方法,则建议在学生类中定义学生显示方法。

3. 如果在sub类里做了与stu类的双向关联,则可以在sub类中通过关联属性调用stu类中可访问的属性与方法。也可以在stu类中通过关联属性调用sub类中的可访问属性与方法。

4. 关联只是通过类中的属性进行连接的,则在类中应该存在的方法与属性还是需要定义的。不过通过关联是可以省略一些构造中的参数,但在创建对象时不是一定要进行关联,所以建议创建多个带参构造,避免出现未给属性赋值的情况。

注:同学可以多复习几遍课程,便于理解。

祝学习愉快!

好帮手慕小尤 2020-08-31 11:12:16

同学你好,1. 在普通方法里可以直接调用当前类的属性与方法的,所以可以添加this也可以不添加。

2. 双向关联可以互相获取信息。譬如:学生单向关联课程之后,就可以获取该学生总共学习了多少课程;课程单向关联学生之后,也就可以获取该课程有多少学生报名学习;当两者同时关联对方,也就是实现双向关联之后,就可以实现同时获取两方的信息啦,即:某个学生报名了多少课程,以及某个课程有多少学生报名。如下所示:

Subject sub1=new Subject("计算机科学与应用","J0001",4);//创建对象的时候属性并没有学生
Student stu1=new Student("S01","张三","男",200);//初始化的时候,属性也没有学科
sub1.addStudent(stu1);//使用这个代码设置学生和学科的关联,为stu1的studentSubjec属性赋值。
                                //同时为sub1的属性myStudents数组的元素赋值

祝学习愉快~

  • 提问者 慕哥8310336 #1
    1.当双向关联的时候能否直接调用类加get方法在sub类里直接输出学生类的信息(在有学生类数组并且数组内部获取到学生类信息的情况下 ) 2.是否关联后就可以不用去写学生类的学生显示方法。 3.当在sub类里做了关联操作后,是否在stu类里就能不用再去做关联,它也能像sub类一样直接用显示方法输出全部信息 ps:因我对这个关联概念有点模糊,心里一直认为这个关联之后能直接输出对方的全部信息,并省略掉构造方法的某些参数,还能省略掉一些get set方法。
    2020-08-31 12:37:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师