ซอฟต์แวร์ พฒ ั นาระบบฐานข้ อมูล บทที่ 10 Object-Oriented Software Design ผู้ช่วยศาสตราจารย์ ปริญญา น้ อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ และเทคโนโลยี มหาวิทยาลัยราชภัฏสุราษฎร์ ธานี Object-Oriented Software Design • Object-Oriented Concept • Introduction to Object-Oriented Software Design Object-Oriented Concept • Object & Class • • • • Inheritance (การสื บทอด) Polymorphism Encapsulation Class Relationship Introduction to Object-Oriented Software Design Object-Oriented Concept • • • • • Object & Class Inheritance Polymorphism Encapsulation Class Relationship Object • • • • • • Object World Message Method/Operation Interface Event Responsibilities Object Object Click ( ) Object Deliver (Mail) Person Send Mail Post Office Deliver Object Sell (10 Baht, Pepsi) Person Buy Pepsi Vending Machine Sell Object MoveToFloor (3) Person Go to 3rd Elevator floor MoveToFloor Open Close Class Person Somchai Somsri Somsak Somying Class Student Somchai Somsri Somsak Somying Class Tennis Player Paradorn Venus Marat Martina Class Institute Social Technology Engineering Science Agricultural Technology Class • • • • • Template Name Attributes Operations Responsibilities Class Name Attributes Operations Responsibilities Class Student StudentID FirstName LastName Address etc… RegisterForCourse DropCourse etc... Class Tennis Player FirstName LastName Nationality Ranking etc… RegisterForTournament etc... Class Car Car Reg. Number Maker Model Color etc… Accelerate Stop etc... Class Airplane Plane Number Manufacturer Model etc… TakeOff Landing etc... Object & Class Student Somchai Somsri Somsak Somying Object & Class Student Somchai Somsri Somsak Somying Student StudentID FirstName LastName Address etc… RegisterForCourse DropCourse etc... Object & Class Student Somchai Somsri Somsak Somying Student1 B4555555 Somchai Saetung 7146 Suranivet 7 etc… RegisterForCourse DropCourse etc... Student StudentID FirstName LastName Address etc… RegisterForCourse DropCourse etc... Student1 B4555555 Somchai Saetung 7146 Suranivet 7 etc… RegisterForCourse DropCourse etc... Object-Oriented Concept • • • • • Object & Class Inheritance Polymorphism Encapsulation Class Relationship Inheritance Animal Cat Dog Person Inheritance Land Vehicle Bus Truck Car Inheritance Transaction Sales Transaction Rental Transaction Lease Transaction Inheritance • • • • • Class Hierarchy Sub Class Super Class Reusability Overriding Inheritance Land Vehicle Bus Car Truck Toyota Vios Altis Camry Transaction transNo transDate transTime etc… Sales Transaction transNo transDate transTime etc… quantitySold… Rental Transaction transNo transDate transTime etc… memberNo… Lease Transaction transNo transDate transTime etc… duration… Object-Oriented Concept • • • • • Object & Class Inheritance Polymorphism Encapsulation Class Relationship Polymorphism DrawChart(1,2,1,2) DrawRect(1,2,1,2) DrawChart DrawTriangle(1,1,1) DrawChart(1,1,1) DrawCircle(1) DrawChart(1) Polymorphism • Add(integer, integer) • Add(string, string) • Add(string, integer) Add(1,1) 2 Add(“Hello”, “World”) “HelloWorld” Add(“Hello”, 2) “Hello2” Add(2, “Hello”) ? Polymorphism :HourlyPaidEmployee calculatePay() :PaySlip getTotalPay() :WeeklyPaidEmployee calculatePay() :MonthlyPaidEmployee calculatePay() Polymorphism • Overloading Object-Oriented Concept • • • • • Object & Class Inheritance Polymorphism Encapsulation Class Relationship Encapsulation • Abstraction • Information Hiding • Security Encapsulation Student StudentID: B4555555 FirstName: Somchai LastName: Saetung Courses Registered: [204204], [204203] etc… DropCourse SetName GetName etc... Encapsulation Sell (10 Baht, Pepsi) Person Buy Pepsi Vending Machine Sell Object-Oriented Concept • • • • • Object & Class Inheritance Polymorphism Encapsulation Class Relationship Class Relationship • • • • Association Aggregation Composition Generalization Class Relationship • Association Pilot Planes Class Relationship • Association – Son – Father – Customer – Operator – User - Computer Class Relationship • Composition Car Engine Seat Wheel Class Relationship • Composition – Car – Wheel, Engine, Seat – House – Window, Roof, Door, Wall – Computer – Monitor, CPU, Keyboard – Building – Rooms – Circle – Points – Book - Chapter Class Relationship • Aggregation Classroom Student Class Relationship • Aggregation – Classroom – Student – Keyboard – Key – Notebook – Paper – Computer – Monitor, CPU, Keyboard Class Relationship • Generalization Land Vehicle Bus Truck Car Class Relationship • Generalization – Car – Mercedes-Benz, BMW, Lexus – Animal – Cat, Rat, Dog Introduction to Object-Oriented Software Design
© Copyright 2026 Paperzz