การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 ...

Post on 06-Feb-2016

39 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 8 Object-Oriented Software Design. ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราช ภัฏ สุราษฎร์ธานี. Object-Oriented Software Design. Object-Oriented Concept Introduction to Object-Oriented Software Design. - PowerPoint PPT Presentation

TRANSCRIPT

การออกแบบและพัฒนาซอฟต์�แวร�

บทท�� 8 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

Person Post OfficeDeliver (Mail)

DeliverSend Mail

Object

Person Vending Machine

Buy Pepsi

Sell (10 Baht, Pepsi)

Sell

Object

Person Elevator

Go to 3rd floor

MoveToFloor (3)

MoveToFloorOpenClose

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

ClassStudent

StudentIDFirstNameLastNameAddressetc…RegisterForCourseDropCourseetc...

ClassTennis Player

FirstNameLastNameNationalityRankingetc…RegisterForTournamentetc...

ClassCar

Car Reg. NumberMakerModelColoretc…AccelerateStopetc...

ClassAirplane

Plane NumberManufacturerModeletc…TakeOffLandingetc...

Object & Class

Student

Somchai

Somsri

Somsak

Somying

Object & Class

Student

Somchai

Somsri

Somsak

Somying

Student

StudentIDFirstNameLastNameAddressetc…

RegisterForCourseDropCourseetc...

Object & Class

Student

Somchai

Somsri

Somsak

Somying

Student1

B4555555SomchaiSaetung7146 Suranivet 7etc…

RegisterForCourseDropCourseetc...

Student1B4555555SomchaiSaetung7146 Suranivet 7etc…RegisterForCourseDropCourseetc...

StudentStudentIDFirstNameLastNameAddressetc…RegisterForCourseDropCourseetc...

Object-Oriented Concept

• Object & Class• Inheritance• Polymorphism• Encapsulation• Class Relationship

Inheritance

Animal

Dog PersonCat

Inheritance

Land Vehicle

Truck CarBus

Inheritance

Transaction

Rental Transaction

Lease Transaction

Sales Transaction

Inheritance

• Class Hierarchy• Sub Class• Super Class• Reusability• Overriding

Inheritance

Land Vehicle

Car

Toyota

TruckBus

Vios Altis Camry

TransactiontransNotransDatetransTimeetc…

Rental Transaction

Lease Transaction

Sales TransactiontransNotransDatetransTimeetc…quantitySold…

transNotransDatetransTimeetc…memberNo…

transNotransDatetransTimeetc…duration…

Object-Oriented Concept

• Object & Class• Inheritance• Polymorphism• Encapsulation• Class Relationship

Polymorphism

DrawChart

DrawChart(1)

DrawChart(1,2,1,2)

DrawChart(1,1,1)DrawTriangle(1,1,1)

DrawRect(1,2,1,2)

DrawCircle(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

:PaySlip

:HourlyPaidEmployee

:WeeklyPaidEmployee

:MonthlyPaidEmployee

getTotalPay()

calculatePay()

calculatePay()

calculatePay()

Polymorphism

• Overloading

Object-Oriented Concept

• Object & Class• Inheritance• Polymorphism• Encapsulation• Class Relationship

Encapsulation

• Abstraction• Information Hiding• Security

EncapsulationStudent

StudentID: B4555555FirstName: SomchaiLastName: SaetungCourses Registered: [204204], [204203] etc…

DropCourseSetNameGetNameetc...

Encapsulation

Person Vending Machine

Buy Pepsi

Sell (10 Baht, Pepsi)

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

Seat WheelEngine

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

Truck CarBus

Class Relationship

• Generalization– Car – Mercedes-Benz, BMW, Lexus– Animal – Cat, Rat, Dog

Introduction to Object-Oriented Software Design

top related