งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ความสัมพันธ์ระหว่างคลาส (Class Relationship)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ความสัมพันธ์ระหว่างคลาส (Class Relationship)"— ใบสำเนางานนำเสนอ:

1 ความสัมพันธ์ระหว่างคลาส (Class Relationship)
Boonrit kidngan

2 Class Diagram ถูกสร้างขึ้นจากมุมมองของนักพัฒนาโปรแกรม
สามารถนำไปใช้ในการเขียนโปรแกรมโดยตรง แบ่งออกเป็น 3 ส่วนหลักๆ ได้แก่ ส่วนบนจะใช้สำหรับระบุชื่อของคลาส ส่วนกลางจะใช้สำหรับระบุข้อมูลหรือแอททริบิวต์ (Attribute) ส่วนล่างจะเป็นการระบุพฤติกรรมการทำงาน (method) Class’s name - attributeName : data type + method(arg list) : return type

3 การสร้าง Class Diagram
กำหนดคลาสที่ใช้งานภายในระบบ กำหนดแอททริบิวต์ของคลาส กำหนดการทำงานของคลาสในรูปของเมธอด กำหนดความสัมพันธ์ระหว่างคลาส

4 Student Student id : String name : String test : int mid : int finals : int Student - id : String - name : String - test : int - mid : int - finals : int + getID() : String + getName() : String + calGPA(test, mid, final) : double

5 การเข้าถึงข้อมูลภายใน
สิทธิ สัญลักษณ์ การเข้าถึงข้อมูลภายใน Public + ทุกๆ ออปเจคภายในระบบ Protected # ออปเจคของคลาสที่มีคุณลักษณะเป็นคลาสสืบทอด Private - ออปเจคจากคลาสหนึ่งๆ โดยเฉพาะ

6 ความสัมพันธ์ระหว่างคลาส
โดยปกติแล้วคลาส X และคลาส Y จะมีความสัมพันธ์กันในกรณีดังต่อไปนี้: ออปเจคของคลาส X ทำหน้าที่ส่ง message ไปยังออปเจคของคลาส Y ออปเจคของคลาส X สร้างออปเจคของคลาส Y ออปเจคของคลาส X มี attribute ที่เป็นออปเจคจากคลาส Y หรือกลุ่มของออปเจคจากคลาส Y ออปเจคของคลาส X ทำหน้าที่รับ message จากออปเจคของคลาส Y ในรูปของ argument

7 Unrelated Classes

8 class CarDemo1 { public static void main (String [] args) { Student st=new Student( ,”hunsa”); Book book=new Book(“java”); System.out.print(st.getName() +” read “ +book.getName()); }

9 Dependency Relationship (ความสัมพันธ์แบบขึ้นอยู่กับ)
เป็นความสัมพันธ์ที่เกิดขึ้นจากการทำงานของคลาสหนึ่งที่มีลักษณะขึ้นอยู่กับคลาสอื่น ๆ ความสัมพันธ์ที่เกิดขึ้นนี้จะมีระยะเวลาสั้น ๆ ใน UMLความสัมพันธ์แบบนี้อาจสรุปการทำงานได้ดังนี้ ออปเจคอาจสร้างออปเจคอื่นในลักษณะที่เป็นส่วนหนึ่งของเมธอด เพื่อร้องขอให้เกิดการกระทำสิ่งใดสิ่งหนึ่งจนกระทั่งเสร็จสิ้น และความสัมพันธ์นั้น ๆ จะสิ้นสุดลงทันที ออปเจคอาจทำการสร้างออปเจคอื่นในลักษณะที่เป็นส่วนหนึ่งของเมธอด เพื่อกระทำสิ่งใดสิ่งหนึ่งและคืนค่ากลับไปยังเมธอดที่เรียกใช้ ออปเจคอาจเรียกใช้เมธอดที่รับค่าพารามิเตอร์ในรูปของของออปเจค เพื่อใช้และแก้ไขข้อมูลภายในออปเจคนั้น ๆ จากนั้นความสัมพันธ์จะสิ้นสุดลงเมื่อการทำงานของเมธอดเสร็จสิ้น

10 Dependency Relationship

11 class Car { private String model; private String manufacturer; public Car (String model, String manufacturer) { this.model = model; this.manufacturer = manufacturer; } public String getEngine ( Engine e) { return e.getType(); public String getModel () { return model; public String getManufacturer () { return manufacturer; class Engine { private String type; Engine (String type) { this.type = type; } public String getType () { return type;

12 Association Relationship (ความสัมพันธ์แบบเกี่ยวข้องโดยตรง)
ความสัมพันธ์แบบนี้จะคล้ายกับความสัมพันธ์แบบ Dependency แต่จะแตกต่างกันตรงที่ช่วงเวลาที่เกิดความสัมพันธ์กันจะมีระยะเวลานาน และมีลักษณะเป็นความสัมพันธ์แบบโครงสร้าง ความสัมพันธ์แบบนี้อาจสร้างขึ้นได้โดยการการกำหนดคลาสอื่นในรูปของแอททริบิวต์ภายในคลาส และสามารถเรียกใช้เมธอดจากคลาสนั้นได้ในกรณีที่ต้องการ ความสัมพันธ์แบบนี้อาจถูกมองในรูปของการมีอยู่ (has-a) ได้ เช่น ออปเจคจากคลาสหนึ่งมีค่าอ้างอิงไปยังออปเจคจากคลาสอื่นได้

13 แสดงความเกี่ยวข้องระหว่างนักศึกษากับรถ

14 Aggregation เป็นรูปแบบหนึ่งของ Association ซึ่งมีความสัมพันธ์ระหว่างWhole และParts โดยเรียกความสัมพันธ์นี้ว่า Whole -part ซึ่งAggregation (Whole-part ) นี้ยังแบ่งออกเป็น 2 รูปแบบคือ แบบShared Aggregation และComposite Aggregation

15 Shared Aggregation หมายถึง ความสัมพันธ์แบบเป็นส่วนหนึ่งของ (a part of ) โดยจะมีคลาสที่ใหญ่ที่สุดเป็นออบเจ็กต์หลัก และมีคลาสอื่น ๆ เป็นส่วนหนึ่งของออบเจ็กต์ ดังรูป  ที่สามารถแยกจากกันได้ แสดงความสัมพันธ์แบบ Aggregation

16 Shared Aggregation public class Car { private String nameCar;
private engine myEngine; private wheel myWheel; public void run( ) }

17 Composite Aggregation
หมายถึง ความสัมพันธ์ที่มีความข้องเกี่ยวกันเสมอ เช่นห้องเรียนจะไม่สามารถมีได้หากไม่มีนักศึกษา ดังรูป

18 public class ClassRoom
{ private Sdudent[] studentIn; public String nameclassroom; public String getNameClassRoom( ) return nameclassroom; }

19 Generalization หมายถึง ความสัมพันธ์ระหว่างคลาสในลักษณะของการสืบทอดคุณสมบัติ จากโครงสร้างคลาสหนึ่งไปยังโครงสร้างอีกคลาสหนึ่ง (SuperClass และ SubClass) ดังรูป

20 แสดงความสัมพันธ์แบบ Generalization
People Student Teacher


ดาวน์โหลด ppt ความสัมพันธ์ระหว่างคลาส (Class Relationship)

งานนำเสนอที่คล้ายกัน


Ads by Google