Professional Documents
Culture Documents
What is Object-Orientation?
Object-orientation is the use of objects and classes in analysis, design, and programming.
The use of objects distinguishes objectorientation from other techniques such as
traditional structured methods (process-based: data and function are separate) knowledge based systems (logic programming: Prolog) mathematical methods (functional programming: Scheme).
Prepared by: Bavy LI
Basic Concepts of OO
Modeling in analysis and software design and languages for programming originally focused on process. But many results indicated the process approach was problematic and led to the software crisis.
Hierarchical Functional Decomposition Top-Down Design (TDD) What
Basic Concepts of OO
practice Superior Software Engineering Metrics Web Presence and Utilization Software Reuse Software Use Enterprise Engineering
Basic Concepts of OO
Terminology 1
objects
orientation
Prepared by: Bavy LI
Basic Concepts of OO
Terminology 2
Class
a
design (like a blueprint for a house) of an object that contains data and methods instance (like a particular house with a street address) of a class with a unique identity
Object
an
Abstraction
only
Basic Concepts of OO
Terminology 3
Attribute
a
named property of an object capable of holding state, as similar as instance variables or data members operation on an object, also called a function or operation
Method
an
Basic Concepts of OO
hybrid object-oriented languages with powerful features including multiple inheritance, exceptions, templates, operator overloading etc
Java was created as a simplification of C++ that could run on any machine, providing a writeonce/run anywhere capability. EJB 2.0 is the new standard for the J2EE, or Java 2 Platform, Enterprise Edition
Basic Concepts of OO
The Unified Modeling Language, or UML, has become the industry standard design and analysis notation, which lends itself to a methodology.
Basic Concepts of OO
Reuse, quality, an emphasis on modeling the real world, a consistent OOA/OOD/OOP package, naturalness (our "object concept"), resistance to change, encapsulation and abstraction, and etc.
On resistance to change, system objects change infrequently while processes and procedures (top-down) are frequently changed.
Basic Concepts of OO 10
Inheritance,
Polymorphism,
Basic Concepts of OO
11
Encapsulation
is the process of hiding all of the details of an object that do not contribute to its essential characteristics." Booch
Basic Concepts of OO
12
Inheritance
IS A relationship
A
new class can be created by "Inheriting" from another class or multiple classes. The new class inherits methods and data members of the "parent" class. This is also called "extending" the base class, or "sub-classing".
Basic Concepts of OO
13
Message Passing
object-oriented program is a bunch of objects laying around sending messages to one another."
Basic Concepts of OO
14
Polymorphism
the ability to hide many different implementations behind a single interface. When objects respond differently to the same message this is a form of Polymorphism.
Basic Concepts of OO
15