OO (Object Oriented) Programming Chapter 21. A method of Design, (make the major decisions first...
-
Upload
melissa-fields -
Category
Documents
-
view
212 -
download
0
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022083009/5697bf941a28abf838c906a2/html5/thumbnails/12.jpg)
Reuse components that your program can inherit