快速业务通道

Java语言入门教程(十):Java语言中的关联与依赖关系 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

Java语言入门教程(十):Java语言中的关联与依赖关系

时间:2011-06-13 csdn博客 taomoon719

在开始本文的学习前,先总结一下已经学习过的内容。在前面9篇文章中,主 要是介绍Java类中的基本语法,是按照先概括,再具体的循序渐进的方式进行的 。先介绍了Java类的主要组成部分:数据成员,方法成员,构造方法。然后对一 些通用的知识点进行了较详细介绍,如权限访问修饰符,包,静态修饰符,数据 类型等。了解了这些通用的知识点后,对于类的三个组成部分分别详细介绍,如 介绍了类中各种数据的相关问题,介绍了构造方法的相关问题,介绍了方法会使 用到的操作符,流程控制,以及调用方法会使用到的值传递等知识点。在了解了 这些以后,初学者应该可以比较清楚的理解一个独立的Java类,。但是,在Java 应用中,不可能只有一个Java类,而是会有很多Java类。这很多个Java类之间, 不可能是老死不相往来的,而会是彼此协作,完成复杂功能。所以,在了解了基 本知识点后,接下来,初学者应该着重学习Java语言中类与类的关系。

在本文中,将使用简单的Java类,展示Java语言中类与类之间常见的两种关 系:关联关系,和依赖关系

1、关联关系

类A关联类B的意思是,如果实例化一个A类的对象,同时,会有一个B类的对 象被实例化。简言之,B作为A的属性存在。如下:

class A{
       private B b;
}
class B{
}

2、依赖关系

类A依赖类B的意思是,如果A的对象要完成某一操作,必须使用B的对象的某 些操作来帮忙,才能完成。简言之,B作为A的某个方法的方法参数存在。如下:

class A{
       public void f(B b){
}
}
class B{
}

关联和依赖,是面向对象编程中,最常见的两种关系。假设有这样一个场景 描述:某培训中心提供免费培训课程,每门课程都有其名字以及原价。学员最多 每人可以选择一门课程,学员只要登记姓名,就可以选择一门课程来学习。

通过分析这个简单场景,可以很容易分析出,有两种对象:学员,课程。也 就是说,我们应该创建两个类,Student,Course。

Course类有两个属性,课程名称和原始价格。如下:

package com.csst.relation;
public class Course {
       private String title;
       private double price;
       public Course(String title, double price) {
              super();
              this.title = title;
              this.price = price;
       }
       public Course(String title) {
              super();
              this.title = title;
       }
       public Course() {
              super();
       }
       public String getTitle() {
              return title;
       }
       public void setTitle(String title) {
              this.title = title;
       }
       public double getPrice() {
              return price;
       }
       public void setPrice(double price) {
              this.price = price;
       }
}

Java语言入门教程(十):Java语言中的关联与依赖关系(2)

时间:2011-06-13 csdn博客 taomoon719

然后创建另外一个类,Student,该类有一个学员姓名属性name,另外,因为 每个学员可以选择一门课程学习,那么就是说,每个Student对象,会有一个 Course对象,即Course应该作为Student的一个属性存在,即Student关联了 Course。那么,会有如下声明:

package com.csst.relation;
public class Student {
    private String name;
    //1.关联关系:Student关联Course
    private Course course;
    public Student(String name) {
       super();
       this.name = name;
    }
//TBD
}

继续分

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号