在開始本文的學習前,先總結一下已經學習過的內容。在前面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; }}