Lecture 8 OO Programming

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)

Info iconThis preview shows pages 1–12. Sign up to view the full content.

View Full Document Right Arrow Icon
Copyright W. Howden 1 Lecture 8: O/O Programming
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Copyright W. Howden 2 Topics • OO Programming Languages • Developing programs from Designs – Class and method definition – Structuring the set of program classes • Testing for Object Oriented programs
Background image of page 2
Copyright W. Howden 3 OO Programming Languages • Simula (Simulation) • SmallTalk (AI Community) • C++ (C) • Eiffel (Software Engineering, CASE) • Java (Devices) • C# (Copyright Problems)
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Copyright W. Howden 4 Sample Differences (run) Type checking Pointers ( enf) Abstract Class Root Object Class Interface Class Inheritance Garbage Collect. Concept single multiple single Java C++ Smalltalk
Background image of page 4
Copyright W. Howden 5 Seminal O/O Ideas • Information hiding – Construct modules/components where you access information via operations that hide how it was implemented • Abstract Data Types – Original information hiding idea
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Copyright W. Howden 6 Abstract Data Types • Abstract objects and a set of operations on them • Implementation is not part of definition • Definition of object given by axioms involving objects and operations
Background image of page 6
Copyright W. Howden 7 List ADT Definition s’ Error tail(s) n Error head(s) False True null?(s) prepend(n,s’) Nil observers Constructors: s =
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Copyright W. Howden 8 ADT’s and OO Classes • Alternative points of view 1. Classes define implementations of ADT specifications 2. ADT’s are for simple algebraic objects such as numbers and lists. Classes are for more complex structures. 3. Alternative forms of abstraction ADT’s: type abstraction O/O Classes: procedural
Background image of page 8
Copyright W. Howden 9 Developing Programs from Designs • Order of implementation strategy • GUI layout details • Class Definitions • Method definitions
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Copyright W. Howden 10 Order of Implementation • Bottom up • Top Down • Least-Coupled First
Background image of page 10
11 Bottom Up • Functional Design Strategy – Start with functions at the bottom of the design tree – Need drivers to carry out tests • Application to OO Designs? – Objects which receive messages but do not send
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 12
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 35

Lecture 8 OO Programming - Lecture 8: O/O Programming...

This preview shows document pages 1 - 12. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online