ObjectOriented Software Design ObjectOriented Concept Introduction to ObjectOriented
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 Person Send Mail Deliver (Mail) Post Office Deliver
Object Person Buy Pepsi Sell (10 Baht, Pepsi) Vending Machine Sell
Object Move. To. Floor (3) Person Go to 3 rd floor Elevator Move. To. Floor 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. ID First. Name Last. Name Address etc… Register. For. Course Drop. Course etc. . .
Class Tennis Player First. Name Last. Name Nationality Ranking etc… Register. For. Tournament etc. . .
Class Car Reg. Number Maker Model Color etc… Accelerate Stop etc. . .
Class Airplane Plane Number Manufacturer Model etc… Take. Off Landing etc. . .
Object & Class Student Somchai Somsri Somsak Somying
Object & Class Student Somchai Somsri Somsak Somying Student. ID First. Name Last. Name Address etc… Register. For. Course Drop. Course etc. . .
Object & Class Student Somchai Somsri Somsak Somying Student 1 B 4555555 Somchai Saetung 7146 Suranivet 7 etc… Register. For. Course Drop. Course etc. . .
Student. ID First. Name Last. Name Address etc… Register. For. Course Drop. Course etc. . . Student 1 B 4555555 Somchai Saetung 7146 Suranivet 7 etc… Register. For. Course Drop. Course 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 trans. No trans. Date trans. Time etc… Sales Transaction trans. No trans. Date trans. Time etc… quantity. Sold… Rental Transaction trans. No trans. Date trans. Time etc… member. No… Lease Transaction trans. No trans. Date trans. Time etc… duration…
Object-Oriented Concept • • • Object & Class Inheritance Polymorphism Encapsulation Class Relationship
Polymorphism Draw. Chart(1, 2, 1, 2) Draw. Rect(1, 2, 1, 2) Draw. Chart Draw. Triangle(1, 1, 1) Draw. Chart(1, 1, 1) Draw. Circle(1) Draw. Chart(1)
Polymorphism • Add(integer, integer) • Add(string, string) • Add(string, integer) Add(1, 1) 2 n Add(“Hello”, “World”) “Hello. World” n Add(“Hello”, 2) “Hello 2” n Add(2, “Hello”) ? n
Polymorphism : Hourly. Paid. Employee calculate. Pay() : Pay. Slip get. Total. Pay() : Weekly. Paid. Employee calculate. Pay() : Monthly. Paid. Employee calculate. Pay()
Polymorphism • Overloading
Object-Oriented Concept • • • Object & Class Inheritance Polymorphism Encapsulation Class Relationship
Encapsulation • Abstraction • Information Hiding • Security
Encapsulation Student. ID: B 4555555 First. Name: Somchai Last. Name: Saetung Courses Registered: [204204], [204203] etc… Drop. Course Set. Name Get. Name etc. . .
Encapsulation Person Buy Pepsi Sell (10 Baht, 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
- Slides: 52