① java中類與類的關系以及UML類圖
我會寫陸做代碼
代碼早槐衡如下:
public class Simulator{
public static void main(String[] args){
cat c = new cat();
Simulator s = new Simulator();
s.playSound(c);
}
void playSound(Animal animal){
animal.cry();
animal.getAnimalName();
}
}
class Animal{
void cry(){
System.out.println("Animal cry");
}
String getAnimalName(){
return("Animal");
}
}
class cat extends Animal{
void cry(){
System.out.println("Cat cry");
}
String getAnimalName(){
return("Cat"明蔽);
}
}
② 怎麼用visio畫Java代碼中類之間的關系圖
怎麼用visio畫Java代碼中類之間的關系圖
依賴 --- 兩個事物間的語義關系,對於回兩個對象X、Y,如果對答象X發生變化,可能會引起對另一個對象Y的變化,則稱Y依賴於X。
關聯 --- 是一種結構關系,指一種對象和另一種對象有聯系。給定關聯的兩個類,可以從其中的一個類的對象訪問到另一個類的相關對象。
泛化 --- 一般/特殊關系
③ 根據Java代碼生成UML類圖之間的關系如何標示
你可以用一個trufun kant studio 工具的反向工程,將你的代碼反向生成UML模型,直接看他們之間生成的關系!
④ java中類與類之間的關系
類與類之間最常見的關系主要有三種:依賴(uses-a)、聚合(has-a)和繼承(is-a)。
下面以在線書店訂單系統為例,來詳細的講述這三種關系的概念。
在線書店訂單系統的主要功能是:注冊用戶可以登錄到網上書店選購圖書,在線填寫訂單,並支付購書款。書店確認已經收到購書款時,按用戶留下的地址郵寄圖書。可以在這個系統中建立幾個類,有圖書(book)、賬戶(account)、訂單(order)、地址(address)等,如下圖所示:
繼承
繼承就是一個類能調用另一個類的所有數據成員,並在當前類中不需要再重新定義,本章已經講得很明白了。
⑤ JAVA中,類、對象、實體、實體類、實體對象之間存在怎樣的聯系請高手做形象的解釋。
類: java中的類 一般來存放實現了某些功能的代碼 代碼片段,是程序的基礎元素
對象:對象是一個很抽象的概念,比如 一個java類 實例化以後可以稱為一個對象 對象一般指的就是一個類創建出來的實例 比如
public class A{}
那麼 A是一個類
A a =new A();
那麼 這里的a 指的就是A這個類的實例 也就是對象 通過對象a 可以訪問A類下面的 非私有欄位 和方法
實體類:一般會與實體對象一起出現 對應資料庫 或者其他數據源中的 一張表 俗稱為一個對象
這里的實體類對象和實體類 打個簡單的比方
實體類 就好像事一張白紙 白紙的獲得 要從廠商那邊取得 也就是我們去買 在程序里 就是用的關鍵字new 當new了以後 就好像是我們從生產廠商那裡買來了一張白紙 當然 白紙上什麼都沒有
有了這張白紙以後 我們就可以在白紙上給它賦值 讓它獨一無二 也就是對實體類進行封裝數據
每一張白紙 從我們購買的時候 都是一樣的對象 都是一個字都沒有的白紙 但是 後來通過業務處理 使得白紙上都有了自己的東西 也就是對象實體中的數據封裝
還可以把實體類比作一個模板 創建出來的實例對象 都是跟這個模板一樣的 至於 模板裡面填寫的內容 那就要看你的賦值了 就拿最簡單的簡歷來說 一般都會有簡歷模板 我們從網上下載一個簡歷模板 就是創建了一個實體類的對象 而這個簡歷模板 就相當於一個實體類 接下來 我們對下載下來的模板進行操作 也就是對 實體類對象進行操作 對實體類對象操作 是不會影響實體類的 這個例子裡面 應該一目瞭然 然後 根據個人信息不同 我們再模板上填寫的信息也不同 比如 姓名 年齡 等等 按照個人的信息來填寫 所以 就會產生實體類的對象的屬性 不同 相信這樣解釋 你應該可以理解了吧 關鍵還是要靠多寫訓練 熟能生巧 運用以後才能知道這些東西存在的奧妙
⑥ java 類與類之間的關系 及uml圖
1.關聯
關聯即對象與對象之間的連接。java類之間的關聯是一個類的作為另一個的屬性被定義,即「has-a」的關系。關聯又分為組合與聚合兩種。示例如下:
//兩個類之間的聚合public class Car{}public class Person{
private Car car;
}//兩個類之間的組合public class Car{}public class Person{
private Car car=new Car();//創建一個Car對象}123456789101112
關聯又分為單向關聯與雙向關聯,以上代碼為單向關聯(Person類關聯Car類),雙向關聯(Person類關聯Car類,同時Car類關聯Person類)代碼如下:
public class Car{
private Person per;
}public class Person{
private Car car;
}123456
類之間的關聯,可以一對一的關聯,也可以一對多的關聯。
2.依賴
依賴的具體表現是將一個類的對象當做方法參數傳給另一個類的方法,是一種use-a的關系。如:
public class Person{
public void dirve(Car car){
}
}1234
關聯與依賴的區別在於:關聯是has-a的關系,依賴是use-a的關系;而且關聯中Person關聯Car,只要Person類對象存在,Car對象就存在;依賴中只有Person類對象調用到dirve()方法時,Car對象才會被創建,方法執行結束後,Car對象就被收回。
3.繼承
類與類的另一個關系是繼承。繼承是一個類的定義基於另一個存在的類,即子類基於父類,如此可實現代碼的重用,子類能夠繼承父類可訪問的方法、屬性,並能擴展新的能力,而且子類可重寫父類方法以滿足子類需要。在繼承中子類可調用父類的構造方法,子類構造方法總是先調用父類的構造方法,而且默認情況下調用父類的無參構造方法,在子類構造方法的第一行使用super關鍵字即可調用父類構造方法。示例代碼如下:
public class Point {
private double x; private double y; public double getX() { return x;
} public void setX(double x) { this.x = x;
} public double getY() { return y;
} public void setY(double y) { this.y = y;
} //無參構造方法
public Point() {
} //有參構造方法
public Point(double x, double y) { this.x = x; this.y = y;
} //draw()方法
public void draw(){
}
}public class Circle extends Point {
private double r; public double getR() { return r;
} public void setR(double r) { this.r = r;
} //有參構造方法
public Circle(double x, double y) { super(x, y);
} public void draw() {
System.out.println("半徑為:" + this.r + " x坐標為:" + getX() + " y坐標為:" + getY() + "的圓繪製成功!");
}
}public class Test {
public static void main(String[] args) {
Circle circle = new Circle(2, 3);
circle.setR(3);
circle.draw();
}
}
⑦ 請問如何看java api中的繼承關系圖啊
Object,Component,Button是三個類,分別位於java.lang包,褲世銀 java.awt包, java.awt包
包名就是起限定作用的
java中所有的類都返鄭是從Object類派生胡宴而來的
這里,Button類從Component類繼承而來,Component類又從Object類繼承而來
⑧ Java中類與類之間的關系是什麼
外部類,內部類,匿名類,外部類就是兩個類並列的class
A
{}
class
B
{},內部類:class
A
{
class
B
{}},B可以直接使用包涵它的類的成員變數,內部類不能被除包涵類以外的類調用;還有就是匿名類,也是內部類
classA{new
{}}省略定義類名直接定義方法和使用,這個適用於代碼比較簡單且這個啊類不需要被其他類調用
⑨ Java中表示各個類繼承關系的這種圖,叫什麼圖啊
統稱UML(統一模型語言),專屬名稱叫類圖
⑩ 怎麼根據JAVA中的代碼畫類之間的關系圖
下面是我寫的一個小改拿東西,繪雀殲仿製了若干圖頃纖形: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import