การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 ...
DESCRIPTION
การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design. ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราช ภัฏ สุราษฎร์ธานี. Object-Oriented Software Design. Object-Oriented Concept Introduction to Object-Oriented Software Design. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/1.jpg)
การออกแบบและพัฒนาซอฟต์�แวร�
บทท�� 8 Object-Oriented Software Designปริ�ญญา น้�อยดอน้ไพริ
สาขาวิ�ชาวิ�ทยาการิคอมพ�วิเตอริ� คณะวิ�ทยาศาสตริ�และเทคโน้โลย�
มหาวิ�ทยาล!ยริาชภั!ฏส$ริาษฎริ�ธาน้�
![Page 2: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/2.jpg)
Object-Oriented Software Design
• Object-Oriented Concept• Introduction to Object-Oriented
Software Design
![Page 3: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/3.jpg)
Object-Oriented Concept
• Object & Class• Inheritance (การสื�บทอด)• Polymorphism• Encapsulation• Class Relationship
![Page 4: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/4.jpg)
Introduction to Object-Oriented Software Design
![Page 5: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/5.jpg)
Object-Oriented Concept
• Object & Class• Inheritance• Polymorphism• Encapsulation• Class Relationship
![Page 6: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/6.jpg)
Object
• Object World• Message• Method/Operation• Interface• Event• Responsibilities
![Page 7: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/7.jpg)
Object
![Page 8: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/8.jpg)
Object
Click ( )
![Page 9: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/9.jpg)
Object
Person Post OfficeDeliver (Mail)
DeliverSend Mail
![Page 10: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/10.jpg)
Object
Person Vending Machine
Buy Pepsi
Sell (10 Baht, Pepsi)
Sell
![Page 11: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/11.jpg)
Object
Person Elevator
Go to 3rd floor
MoveToFloor (3)
MoveToFloorOpenClose
![Page 12: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/12.jpg)
Class
Person
Somchai
Somsri
Somsak
Somying
![Page 13: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/13.jpg)
Class
Student
Somchai
Somsri
Somsak
Somying
![Page 14: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/14.jpg)
Class
Tennis Player
Paradorn
Venus
Marat
Martina
![Page 15: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/15.jpg)
Class
Institute
Social Technology
Engineering
Science
Agricultural Technology
![Page 16: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/16.jpg)
Class
• Template• Name• Attributes• Operations• Responsibilities
![Page 17: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/17.jpg)
Class
Name
Attributes
Operations
Responsibilities
![Page 18: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/18.jpg)
ClassStudent
StudentIDFirstNameLastNameAddressetc…RegisterForCourseDropCourseetc...
![Page 19: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/19.jpg)
ClassTennis Player
FirstNameLastNameNationalityRankingetc…RegisterForTournamentetc...
![Page 20: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/20.jpg)
ClassCar
Car Reg. NumberMakerModelColoretc…AccelerateStopetc...
![Page 21: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/21.jpg)
ClassAirplane
Plane NumberManufacturerModeletc…TakeOffLandingetc...
![Page 22: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/22.jpg)
Object & Class
Student
Somchai
Somsri
Somsak
Somying
![Page 23: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/23.jpg)
Object & Class
Student
Somchai
Somsri
Somsak
Somying
Student
StudentIDFirstNameLastNameAddressetc…
RegisterForCourseDropCourseetc...
![Page 24: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/24.jpg)
Object & Class
Student
Somchai
Somsri
Somsak
Somying
Student1
B4555555SomchaiSaetung7146 Suranivet 7etc…
RegisterForCourseDropCourseetc...
![Page 25: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/25.jpg)
Student1B4555555SomchaiSaetung7146 Suranivet 7etc…RegisterForCourseDropCourseetc...
StudentStudentIDFirstNameLastNameAddressetc…RegisterForCourseDropCourseetc...
![Page 26: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/26.jpg)
Object-Oriented Concept
• Object & Class• Inheritance• Polymorphism• Encapsulation• Class Relationship
![Page 27: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/27.jpg)
Inheritance
Animal
Dog PersonCat
![Page 28: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/28.jpg)
Inheritance
Land Vehicle
Truck CarBus
![Page 29: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/29.jpg)
Inheritance
Transaction
Rental Transaction
Lease Transaction
Sales Transaction
![Page 30: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/30.jpg)
Inheritance
• Class Hierarchy• Sub Class• Super Class• Reusability• Overriding
![Page 31: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/31.jpg)
Inheritance
Land Vehicle
Car
Toyota
TruckBus
Vios Altis Camry
![Page 32: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/32.jpg)
TransactiontransNotransDatetransTimeetc…
Rental Transaction
Lease Transaction
Sales TransactiontransNotransDatetransTimeetc…quantitySold…
transNotransDatetransTimeetc…memberNo…
transNotransDatetransTimeetc…duration…
![Page 33: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/33.jpg)
Object-Oriented Concept
• Object & Class• Inheritance• Polymorphism• Encapsulation• Class Relationship
![Page 34: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/34.jpg)
Polymorphism
DrawChart
DrawChart(1)
DrawChart(1,2,1,2)
DrawChart(1,1,1)DrawTriangle(1,1,1)
DrawRect(1,2,1,2)
DrawCircle(1)
![Page 35: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/35.jpg)
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”) ?
![Page 36: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/36.jpg)
Polymorphism
:PaySlip
:HourlyPaidEmployee
:WeeklyPaidEmployee
:MonthlyPaidEmployee
getTotalPay()
calculatePay()
calculatePay()
calculatePay()
![Page 37: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/37.jpg)
Polymorphism
• Overloading
![Page 38: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/38.jpg)
Object-Oriented Concept
• Object & Class• Inheritance• Polymorphism• Encapsulation• Class Relationship
![Page 39: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/39.jpg)
Encapsulation
• Abstraction• Information Hiding• Security
![Page 40: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/40.jpg)
EncapsulationStudent
StudentID: B4555555FirstName: SomchaiLastName: SaetungCourses Registered: [204204], [204203] etc…
DropCourseSetNameGetNameetc...
![Page 41: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/41.jpg)
Encapsulation
Person Vending Machine
Buy Pepsi
Sell (10 Baht, Pepsi)
Sell
![Page 42: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/42.jpg)
Object-Oriented Concept
• Object & Class• Inheritance• Polymorphism• Encapsulation• Class Relationship
![Page 43: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/43.jpg)
Class Relationship
• Association• Aggregation• Composition• Generalization
![Page 44: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/44.jpg)
Class Relationship
• Association
Pilot Planes
![Page 45: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/45.jpg)
Class Relationship
• Association– Son – Father– Customer – Operator– User - Computer
![Page 46: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/46.jpg)
Class Relationship
• Composition
Car
Seat WheelEngine
![Page 47: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/47.jpg)
Class Relationship
• Composition– Car – Wheel, Engine, Seat– House – Window, Roof, Door, Wall– Computer – Monitor, CPU, Keyboard– Building – Rooms – Circle – Points– Book - Chapter
![Page 48: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/48.jpg)
Class Relationship
• Aggregation
Classroom Student
![Page 49: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/49.jpg)
Class Relationship
• Aggregation– Classroom – Student– Keyboard – Key– Notebook – Paper– Computer – Monitor, CPU, Keyboard
![Page 50: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/50.jpg)
Class Relationship
• Generalization
Land Vehicle
Truck CarBus
![Page 51: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/51.jpg)
Class Relationship
• Generalization– Car – Mercedes-Benz, BMW, Lexus– Animal – Cat, Rat, Dog
![Page 52: การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design](https://reader036.vdocuments.pub/reader036/viewer/2022062315/56815ab0550346895dc8576e/html5/thumbnails/52.jpg)
Introduction to Object-Oriented Software Design