OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first...

12
OO (Object Oriented) Programming Chapter 21

Transcript of OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first...

Page 1: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

OO (Object Oriented) Programming

Chapter 21

Page 2: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

A method of Design, (make the major decisions first when designing programs)

OO object oriented programs“Balloon” as an example, a simulation of a balloonPrincipals of OOP1. Encapsulation (Chapter 9)2. Inheritance (Chapter 11)3. Polymorphism

Page 3: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

Encapsulation

…group related information together and protected from the outside (world)Private = protected orOpen = open to the world

Page 4: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

Inheritance

Use classes repeatedlyReuse parts of existing classes when possible

Page 5: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

Polymorphism

Same methods used with others, multiple implementations

Page 6: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

Design problems

Need to identify objects. An approach to problem solvingSimulation and Modeling Build a software model of something in the

real world Identify the object(s) in the problem Model them as objects Ignore irrelevant detail

Specification = what is requiredDesign = how it will be accomplished

Page 7: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

Model – view - controller

An example:A cars engine (model) the observer = you gas pedal (controller) speedometer (some dial or gage) i.e. GUI

What user adjusts with (a scrollbar (controller) as an example)

Page 8: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

A Balloon example

Model - car engine vs. BalloonView – speedometer vs. CircleController – steering wheel vs. change position of Balloon (left/right, up/down)

Page 9: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

Hierarchy

An old example “Sphere” class as the parent and Orb, or Circle, or marble or whatever as child.Many other sub classes possibleAnalyze the specifications of what you are to model (design)Write in pseudocode before using Java

Page 10: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

Case study in design

“One Armed Bandit” example “Slotmachine”: “Actions”DisplayGoQueryStop Reuse the components that your program can inherit

Page 11: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

Relationships

“is a” vs. “has a”Is a = inheritance (java “extends”) from parent classHas a = (java “new”) an objectNeeds a = utility (java various methods) need of another object, may pass in a parameter)

Page 12: OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first when designing programs) OO object oriented programs.

Reuse components that your program can inherit