The OO Mindset objects problem domain
Classes • object-oriented thinking begins with the definition of a class often defined as: • template • generalized description • pattern • “blueprint” ... describing a collection of similar items • a metaclass (also called a superclass) is a collection of classes • once a class of items is defined, a specific instance of the class can be defined
Encapsulation/Hiding Theobject encapsulates both data and the logical procedures required to manipulate the data method # 2 method # 1 data method # 6 method # 4 method # 5 Achieves“information hiding”
What is a Class? occurrences roles organizational units things places external entities structures class name attributes: operations:
Class Hierarchy furniture (superclass) table chair desk "chable" subclasses of the furniture superclass instances of chair
Methods(a.k.a. Operations, Services) An executable procedure that is encapsulated in a class and is designed to operate on one or more data attributes that are defined as part of the class. A method is invoked via message passing.
Key Concepts • classes and class hierarchies • instances • inheritance • abstraction and hiding • objects • attributes • methods • encapsulation • polymorphism • messages
Other • Recursive/parallel model • Like spiral/evolutionary • But differs 2 ways • OO Project metrics and estimation • OO Project tracking