美文网首页
Java初学者疑难杂症之:一对一和一对多的关系

Java初学者疑难杂症之:一对一和一对多的关系

作者: 磨砺营 | 来源:发表于2016-09-08 13:43 被阅读52次

    【威哥说】作为一个程序员,我们每天都在“搞”对象,额,“用”对象,感觉那个词都不太好,还是继续向下说,对象之间的关系有的是一对一的,也有一对多的(现实中有才好),他们之间到底是如何的关系,你是不是搞明白了呢?作为初学者,刚开始学习Java的同学一定要自己研究一下本文。

    【广告】9月26日开班!!!

    【正文】今天给大家讲解对象的一对一和一对多的关系,这个关系是针对初学者的一个讲解,可以帮助大家明确由实际生活转化到代码语句的逻辑。

    首先,我们针对一个很常见的现实生活中的问题,咱们就看看最近的一个新闻:“北京现新款公租自行车,扫码出行”,这里估计又会引发一股骑车浪潮。

    那么此处针对骑车事件,在现实生活中理解为:人蹬车,车就动起来了。那么把这个概念引申到咱们程序中时,就要理解为,动是车的方法,我们人是调用了车的滚动方法,车才跑起来的。同理:比如说人关门,现实生活中就是个关门动作,引申到程序中就是:关门时门才有的行为,人关门其实是在使用门的关闭动作,从而完成门的关闭。

    体现到代码中来实现的话,首先我们需要一个门抽取出来的Door类:

    class Door{

    //定义一个关闭方法,门具有关闭方法

    void close(){

    System.out.println(“门被关闭了”);

    };

    }

    现在有个人要关门,那么这里我们就需要一个人的对象:

    class Person{

    /*此时我们要去关闭门,所以我们需要一个门的对象,来让他自己关闭,所以此处我们封装一个Door door 类型的变量在本类中作为成员变量,然后再具体关门的动作里去使用门自己的关闭方法。此处这种关系就叫做对象的一对一关系*/

    Door door;

    Void closeDoor(){

    door.close();

    }

    }

    那么为什么会有对象的一对一关系的建立,我们从几点来进行剖析:

    1、低耦合

    每个业务对象单独建立,避免了产生过多依赖,不利于维护

    2、逻辑独立,任务分配明确

    每个逻辑对象单独处理本类的业务逻辑,符合实际生活中的真实理念

    3、符合面向对象思想

    针对不同的逻辑对象抽取出来不同的类,封装本类中具有的独有方法实现。

    那么有了对象的一对一关系,我们也大致可以猜到什么是对象的一对多关系了。可不是一个和多个发生关系哦。

    如上同样是针对关门动作,这里我得关闭多个门的时候,也是人去关闭多个门,分别调用门的关闭方法:

    那么如何去存储多个门呢?我们在程序中使用集合来进行存储,声明代码如下;

    class Person{

    /*此时我们使用集合存储所有数据,关闭时直接遍历集合进行挨个关闭。这里一个人对应多个门的关系我们称为一对多关系。

    */

    List  door;

    Void closeDoor(){

    For(int i = 0 ; i < door.size();i++){

    door.get(i).close();

    }

    }

    }

    一对多关系说白了就是咱们在一个类中定义一个数据集合,一个对应多个数据,就叫一对多。初学者一定要迈过这个坎哦。

    相关文章

      网友评论

          本文标题:Java初学者疑难杂症之:一对一和一对多的关系

          本文链接:https://www.haomeiwen.com/subject/mvmsettx.html