1. 程式人生 > >Java類和類之間關係

Java類和類之間關係

類和類之間關係包括了 is a,has a, use a三種關係
is a包括了 繼承,實現關係
has a包括了 組合,聚合,關聯關係
use a包括了 依賴關係
繼承:子是父的關係,狗是動物
[Java] 純文字檢視 複製程式碼 ?
1 2 publicclass Animal{} publicclass Dog extendsAnimal{}


實現:實現類實現介面,同樣是是的關係,UserServiceImpl實現了UserService介面
[Java] 純文字檢視 複製程式碼 ?
1 2 publicinterface UserService{}
publicclass UserServiceImpl implementsUserService{}


組合:有的關係,人有一個心臟,而且這個心臟是在創造人時,內部創造的
[Java] 純文字檢視 複製程式碼 ?
1 2 3 4 5 6 7 publicclass Heart{} publicclass Person{ privateHart hart; publicPerson(){ this.hart=newHart(); } }


聚合:有的關係,汽車有發動機,而且汽車產生就有發動機了,而對於汽車製造的時候,發動機不一定是自己造的,可以拿別人造好的發動機
[Java] 純文字檢視
 複製程式碼 ?
1 2 3 4 5 6 7 publicclass Engine{} publicclass Car{ privateEngine engine; publicCar(Engine engine){ this.engine=engine; } }


關聯:一個人可以有一輛汽車,而這個汽車不是一個人出生就有,而是後期買的
[Java] 純文字檢視 複製程式碼 ?
1 2 3 4 5 6 7 publicclass Car{} publicclass Person{ privateCar car;
publicvoid setCar(){ this.car=car; } }


依賴:使用的關係,一個人可以做火車到達想去的地方,但火車不是這個人的東西,人只是使用火車移動
[Java] 純文字檢視 複製程式碼 ?
1 2 3 4 5 6 7 8 publicclass Train{ publicvoid move(){} } publicclass Person{ publicvoid move(Train train){ train.move(); } }



通過程式碼可以看出,類和類之間的關係,按我這個順序是從高到低
一個類改變了對於其他類的影響也是從高到低
我們寫程式碼要遵守兩個原則
高低原則
    高內聚,低耦合
開閉原則
   對擴充套件開,對修改閉
所以我們寫程式碼,能有耦合低的關係就不要用耦合高的關係
附類圖

相關推薦

Java之間關係

類和類之間關係包括了 is a,has a, use a三種關係 is a包括了 繼承,實現關係 has a包括了 組合,聚合,關聯關係 use a包括了 依賴關係 繼承:子是父的關係,狗是動物 [Java] 純文字檢視 複製程式碼 ? 1 2 publicclass Animal{}

java抽象介面繼承之間關係

有時候,我們可能想要構造一個很抽象的父類物件,它可能僅僅代表一個分類或抽象概念,它的例項沒有任何意義,因此不希望它能被例項化。例如:有一個父類“ 水果(Fruit)”,它有幾個子類“蘋果(Apple)”、“橘子(Orange)”、“香蕉(Banana)”等。水果在這裡僅僅只是作為一個分類,顯然水果的例項沒有

java中抽象介面之間的區別關係

首先抽象類歸根結底還是屬於類,對於抽象方法,是隻能存在於抽象類中的,我們無法再一個非抽象的類中宣告一個抽象方法,其次抽象方法只需要宣告,並不需要事先。當我們要寫一個抽象類的時候只需要在類的前面宣告為abstract即可了。同時抽象類是無法被例項化的,而抽象類的存在就是為了被

Java語言中的static之間的總結

雙向 之間 臨時性 定義 進行 依賴 mat 如果 抽象類 一、static類   1、static類的定義    static被稱為靜態,可以用來修飾類的屬性或方法。    如果類的某個屬性,不管創建多少個對象,屬性的存儲空間只有唯一的一個,那麽這個屬性就應該用sta

Java日期字串之間轉換,自己封裝日期與字串轉換

一:日期與字串轉換 public class DateFormatDemo { public static void main(String[] args) throws ParseException { //日期轉換成字串 Date d = new Date(); Simple

/物件物件之間的三大關係

線段上有兩個點 - has-a - 關聯關係 整體不可分割的,叫做強關聯/聚合 eg:人有手,車有引擎 人使用了房子 - use-a - 使用,依賴關係 學生是人 - is-a - 繼承關係 繼承 - 從已經有的類建立新類的過程 提供繼承資訊的稱為父類(超類/基

Java物件例項的關係Java資料封裝、Java繼承多型、Java抽象介面、Java靜態欄位方法、Java作用域、Java的classpathjar、Java核心

Java物件和例項的關係: 面向物件程式設計(Object-Oriented Programming),是對現實世界建立計算機模型的一種方法。 class是物件的模板,它定義瞭如何建立例項,class的名字就是資料型別。一個class裡可以有多個欄位(field),欄位用

抽象介面之間關係

1。類可以實現多個介面而只能繼承一個超類。 2。抽象類可以有非抽象方法而介面的方法只能都是抽象的。 3。抽象類可以定義和使用變數而介面則不可以。 4。抽象類中的方法可以有各種不同的修飾符,而介面中的方法預設都是public,不允許字面定修飾符。 一個介面中的成員函式可以在不同的類中安裝,而它的成員函式可以有很

c++之間關係

//類就是體現封裝的思想,有許可權的控制//程式追求的最高境界是;高內聚(函式功能越單一越好,目標越專一越好),低耦合(類與其他類關係越少越好)#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include &

JAXB工具實現java實體xml之間的轉換

<?xml version="1.0" encoding="GBK" standalone="yes"?> <student> <id>1</id> <name>羅志茂</name> <age>25

java實體xml之間的轉換

一、XStream的用途          XStream是一個Java物件和XML相互轉換的工具,很好很強大。提供了所有的基礎型別、陣列、集合等型別直接轉換的支援。           因此XML常用於資料交換、物件序列化(這種序列化和Java物件的序列化技術有著本質的區別)。         S

之間的依賴、關聯、聚合、組合關係

一、繼承關係     繼承指的是一個類(稱為子類、子介面)繼承另外的一個類(稱為父類、父介面)的功能,並可以增加它自己的新功能的能力。在Java中繼承關係通過關鍵字extends明確標識,在設計時一般沒有爭議性。在UML類圖設計中,繼承用一條帶空心三角箭頭的實線表示,從子類指向父類,或者子介面指向父介面。  

java:物件

物件的屬性和方法 Java中將現實物件中的資訊稱為屬性(也叫全域性變數),將現實物件中的功能稱為方法 類:Java語言把一組物件中相同屬性和方法抽象到一個Java原始檔就形成了類。 定義一個類的步驟:1、定義類名;2、定義類的屬性;3、定義類的方法 類名的命名規則: 1

20180705-Java物件

Java物件和類 Java作為一種面嚮物件語言。支援以下基本概念: 多型繼承封裝抽象類物件例項方法訊息解析 本節我們重點研究物件和類的概念。 物件:物件是類的一個例項,有狀態和行為。例如,一條狗是一個物件,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。類:類是一個模板,它描述一類物件的行為和

030_面向物件_03_物件的關係

一、概念介紹   a)類:許多相似或相同事物的綜合、.用於性質或特徵相同或相似的事物,此處我們所說的類是對物件的一種抽象。   b)物件:指行動或思考時作為目標的一個具體事物,從認識論角度考慮是先有物件後有類。比如學生這個物件   c)抽象:從具體事物抽出、概括出它們共同的方面、本質屬性與關係等,而將個

Java學習--Java 物件

Java 物件和類 Java作為一種面嚮物件語言。支援以下基本概念: 多型 繼承 封裝 抽象 類 物件 例項 方法 過載 本節我們重點研究物件和類的概念。 物件:物件是類的一個例項(物件不是找個女朋友),有狀態和行為。例如,一條狗是一個物件,它的狀態有: 顏色、名字、品種;

之間的通訊

類和類之間的通訊 類和類之間的通訊 首先我們要知道一個Java檔案中可以有多個類,其中public class類名{。。}是主類,一般情況下定義為public其餘的都是普通的類。主類裡包含主函式static void main(string arg[]){}。   如:建立

Java 物件

Java 物件和類 Java作為一種面嚮物件語言。支援以下基本概念: :多型 :繼承 :封裝 :抽象 :類 :物件 :例項 :方法 :訊息解析 。。。。。。 我們先來研究物件和類的概念。 物件:物件是類的一個例項,有狀態和行為。例如,一條狗是一個物件,它的狀態有:顏色、名字、品種;行為有:搖尾巴、叫、吃等。

Java 2-Java 物件

Java 物件和類 Java作為一種面嚮物件語言。支援以下基本概念: 多型 繼承 封裝 抽象 類 物件 例項 方法 訊息解析 本節我們重點研究物件和類的概念。 物件:物件是類的一個例項,有狀態和行為。例如,一條狗是一個物件,它的狀態有:顏色、名字、品種;

抽象介面的關係

Java的基礎面試題還是很多會考這個的,所以自己總結下。(JDK8之後) 相同點: 1.抽象類和介面都不能被例項化 2.它們當中都能夠包含抽象方法 重點是它們的區別: 1、抽象類當中有抽象方法和普通方法(有方法體),普通方法可以不被重寫; 介面當中的方法包含抽