Generalization & Specialization

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
ลอจิกเกต (Logic Gate).
Advertisements

การออกแบบฐานข้อมูลในระดับ Conceptual
(Material Requirement Planning)
COE โปรแกรมบริหารจัดการอู่ซ่อมรถยนต์
บทที่ ๖ หลักการแก้ปัญหาด้วยคอมพิวเตอร์
กรอบแนวคิด ในการทำวิจัย
Object-Oriented Analysis and Design
ตัวอย่างการสร้าง Class Diagram
Class Diagram.
Inheritance.
เทคนิคการสัมภาษณ์งานแบบวัด (Competency)
Object-Oriented Analysis and Design
05_3_Constructor.
Object-Oriented Programming
ครั้งที่ 7 Composition.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
Use Case Diagram.
SCC : Suthida Chaichomchuen
Classification Abstraction
Selected Topics in IT (Java)
Association Abstraction
Object-Oriented System Analysis and Design
SCC : Suthida Chaichomchuen
Enhanced Entity-Relationship Model
การสืบทอด (Inheritance)
Chapter 3 แบบจำลองข้อมูล : Data Models
คลาสและวัตถุ (4) (Class & Object)
การสืบทอดคุณสมบัติ (Inheritance)
Lecture 9 Class (คลาส) To do: Hand back assignments
Inheritance การสืบทอดคลาส
บทที่ 6 เมธอด.
หลักการวิเคราะห์และออกแบบระบบฐานข้อมูล
ค32213 คณิตศาสตร์สำหรับคอมพิวเตอร์ 3 โรงเรียนปลวกแดงพิทยาคม
บทที่ 3 การวิเคราะห์ Analysis.
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
System Analysis and Design
บทที่ 4 Aggregation Abstraction
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
การวิเคราะห์และออกแบบระบบเชิงวัตถุ (OOAD)
การวิเคราะห์และออกแบบระบบเชิงวัตถุ Object Oriented Analysis and Design
บทที่ 2 Abstractions Agenda Objectives : วัตถุประสงค์ Abstractions
Lec05 :: การสืบทอด (inheritance)
เรื่องการออกแบบฐานข้อมูล
เรื่อง การบวกจำนวนสองจำนวน โรงเรียนบุรพรัตน์วิทยาคาร
Object-Oriented Programming
Lecture 2 แก้ไขปัญหาด้วย OOP (Solving problems using OOP in Java)
Midterm outline Object-oriented programming Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of phayao.
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
อ.วิวัฒน์ ชินนาทศิริกุล
Polymorphism กนกวรรธน์ เซี่ยงเจ็น
สมการเชิงเส้นตัวแปรเดียว
Object Oriented Programming : OOP
การสืบทอด (inheritance)
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
Class. ทบทวน Object ประกอบด้วย ชื่อ Attributes -> คุณลักษณะ Methods -> การกระทำ ให้ลองเขียน Object โดยใช้รูปแบบดังนี้ ชื่อ Attributes Methods.
Inheritance และ Encapsulation.  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่ มีอยู่แล้ว  คลาสใหม่จะนำแอตทริบิวต์และเมธอดของ คลาสเดิมมาใช้  เป็นการถ่ายทอดคุณสมบัติจากคลาสหนึ่งสู่อีก.
การเรียนทางคลินิก โดยใช้ปัญหาเป็นหลัก
Object-Oriented Programming
วิชา การวิเคราะห์และออกแบบเชิงวัตถุ รหัส
กิจกรรมการคิด.
Chapter 6 Abstract Class and Interface
บทที่ 3 การสืบทอด (Inheritance)
Inheritance and Method Overriding
Class Diagram.
Object Roles and the Importance of Polymorphism
Inheritance Chapter 07.
Class Inheritance and Interfaces.
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
Class Diagram.
Class Diagram.
ใบสำเนางานนำเสนอ:

Generalization & Specialization

Generalization คือการนำคุณสมบัติที่คล้ายกัน ของ object หลาย ๆ object หรือของ class หลาย ๆ class มาสร้างให้มี concept ใหม่ ทำให้เกิด class ใหม่ที่มีคุณสมบัติต่างไปจากเดิม เราเรียกวิธีสร้าง class แบบใหม่นี้ว่า Generalization Abstraction

Specialization คือกระบวนการที่ตรงกันข้ามกับ กระบวนการ Generalization Abstraction กล่าวคือ ถ้าต้องการสร้าง Class ใหม่ โดยอาศัย Concept ของ Class เก่าบางส่วน และเพิ่มเติมใหม่บางส่วนจนเกิดเป็น Class ใหม่

Inheritance คือกระบวนการในการสร้าง subclass จาก superclass โดย subclass ยังคง attribute และ function เหมือนกับ superclass หรือ อาจจะมีเพิ่มเติมไปจาก superclass ก็ได้ เกณฑ์ในการ inherit class Private attribute/function ของ subclass ที่ inherit มากจาก superclass ไม่สามารถเข้าถึงได้จาก function ใน subclass ที่ไม่ได้ inherit มากจาก superclass

Inheritance (continue) เกณฑ์ในการ inherit class Protected attribute/function ของ superclass เมื่อถ่ายทอดเป็น attribute/function ของ subclass แล้ว การเข้าถึง attribute/function เหล่านั้น สามารถทำผ่าน function ภายใน subclass ได้ Public attribute/function ของ superclass เมื่อถ่ายทอดเป็น attribute/function ของ subclass แล้ว สามารถเข้าถึงได้ จาก function ของ subclass ได้

Polymorphism คือการสืบทอด ระหว่าง superclass กับ subclass แต่ function บาง function ของ subclass ทำงานแตกต่างไปจาก superclass

Association Abstraction

ความหมายของ Association Abstraction คือความสัมพันธ์ระหว่างคลาส ตั้งแต่ 2 คลาสขึ้นไป โดยคลาสที่มาสัมพันธ์กันนั้น อาจจะมี attribute หรือ function ที่เหมือนกัน หรือไม่เหมือนกันเลยก็ได้ เช่น ครอบครัว 1 ครอบครัว อาจจะซื้อรถยนต์ไว้ใช้ กี่คันก็ได้ หรือ ไม่ได้ซื้อไว้ใช้เลยแม้แต่คันเดียวก็ได้ ซึ่งสามารถเขียนเป็นไดอะแกรมได้ดังนี้

หลักในการเขียน Diagram Association Class ที่มีความสัมพันธ์กัน เส้นตรงเชื่อมความสัมพันธ์ระหว่าง Class คำกริยาแสดงความสัมพันธ์ระหว่าง Class เลข Cardinality แสดงจำนวนต่ำสุด และ จำนวนมากสุดของ Class ที่มีความสัมพันธ์กัน

จงเขียนความสัมพันธ์ระหว่างคลาสแม่และคลาสลูก โดยมีคำเชื่อมระหว่างคลาสทั้งสองคือ มี

จงเขียนความสัมพันธ์ระหว่างคลาสผู้หญิงและคลาสผู้ชาย โดยมีคำเชื่อมความสัมพันธ์ระหว่างคลาส คือ แต่งงาน

จงอธิบายความสัมพันธ์ระหว่างคลาสต่อไปนี้

จงอธิบายผังการบริหารงานแบบ Association ของบริษัทหนึ่ง ดังภาพ

TEST5 Inside view ของ Class D,E,F เป็นอย่างไร ใน Class D มี attribute1 หรือไม่ ถ้ามีได้มาจากการ inherit มาจาก Class ใด ใน Class D มี attribute2 หรือไม่ ถ้ามีได้มาจากการ inherit มาจาก Class ใด ใน Class D มี attribute3 หรือไม่ ถ้ามีได้มาจากการ inherit มาจาก Class ใด ใน Class D มี function1 หรือไม่ ถ้ามีได้มาจากการ inherit มาจาก Class ใด

TEST5 (continue) ใน Class D มี function4 หรือไม่ ถ้ามีได้มาจากการ inherit มาจาก Class ใด ใน Class D มี attribute ตัวใดบ้างที่ function8 สามารถเข้าถึงได้ ใน Class E มี attribute ตัวใดบ้างที่ function9 สามารถเข้าถึงได้ ใน Class F มี function8 หรือไม่ถ้ามี Attribute ตัวใดบ้างที่ function8 สามารถเข้าถึงได้ ใน Class F มี function4 หรือไม่ถ้ามี Attribute ตัวใดบ้างที่ function8 สามารถเข้าถึงได้