Themes and Variations

advertisement
Themes and Variations
•
•
•
•
•
abstraction -- the object metaphor
modeling -- understanding structure and behavior
software architecture -- mastering complexity
frameworks -- patterns for problem solving
components -- scalable software
Postacademische Cursus Informatie Technologie
vrije Universiteit
amsterdam
Object Terminology
•
•
•
•
•
•
•
•
•
objects -- packet containing data and procedures
methods -- deliver service
message -- request to execute a method
class -- template for creating objects
instance -- an object that belongs to a class
encapsulation -- information hiding by objects
inheritance -- allowing the reuse of class spec.s class
hierarchy -- tree structure inheritance relations
polymorphism -- to hide different implementations
Postacademische Cursus Informatie Technologie
vrije Universiteit
amsterdam
Features of OOP
•
•
•
•
information hiding: state, autonomous behavior
data abstraction: emphasis on what rather than how
dynamic binding: binding at runtime,
polymorphism , virtual
inheritance: incremental changes (specialization), reusability
Postacademische Cursus Informatie Technologie
vrije Universiteit
amsterdam
functions
Benefits of OOP
• OO = encapsulation + inheritance
• modularity -- autonomous entities, cooperation through exchanges of
messages
• deferred commitment -- the internal workings of an object can be redefined
without changing other parts of the system
• reusability -- refining classes through inheritance
• naturalness -- object-oriented analysis/design, modeling
Postacademische Cursus Informatie Technologie
vrije Universiteit
amsterdam
Download