Presentation is loading. Please wait.

Presentation is loading. Please wait.

Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.

Similar presentations


Presentation on theme: "Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI."— Presentation transcript:

1 Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI

2 Basic Concepts of OO2 Prepared by: Bavy LI What is Object-Orientation? Object-orientation is the use of objects and classes in analysis, design, and programming. The use of objects distinguishes object- orientation 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).

3 Basic Concepts of OO3 Prepared by: Bavy LI Why did OO Arise? 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 are the advantages/disadvantages of TDD?

4 Basic Concepts of OO4 Prepared by: Bavy LI Why does “Organization” need Object-Orientation? Organizationally, OO provides a superior means of:  Problem/Business Analysis and Requirements  Better Software Development/Modern programming practice  Superior Software Engineering Metrics  Web Presence and Utilization  Software Reuse  Software Use  Enterprise Engineering

5 Basic Concepts of OO5 Prepared by: Bavy LI Terminology – 1 OOA – Object Oriented Analysis  analyzing your problem by decomposition into objects OOD – Object Oriented Design  designing your code into objects OOP – Object Oriented Programming  programming using the concepts of object orientation

6 Basic Concepts of OO6 Prepared by: Bavy LI Terminology – 2 Class  a design (like a blueprint for a house) of an object that contains data and methods Object  an instance (like a particular house with a street address) of a class with a unique identity Abstraction  only exposing the important, relevant qualities of an object or system

7 Basic Concepts of OO7 Prepared by: Bavy LI Terminology – 3 Attribute  a named property of an object capable of holding state, as similar as instance variables or data members Method  an operation on an object, also called a function or operation

8 Basic Concepts of OO8 Prepared by: Bavy LI What are the Primary Object- Oriented Languages Today? C++ added classes to C as early as 1985  A 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 write- once/run anywhere capability. EJB 2.0 is the new standard for the J2EE, or Java 2 Platform, Enterprise Edition

9 Basic Concepts of OO9 Prepared by: Bavy LI What are the Primary Object- Oriented Methodologies Today? The Unified Modeling Language, or UML, has become the industry standard design and analysis notation, which lends itself to a methodology.

10 Basic Concepts of OO10 Prepared by: Bavy LI What are the Benefits Of Object- Orientation? 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.

11 Basic Concepts of OO11 Prepared by: Bavy LI Big Three (and a half) The three and a half key ingredients of OOP are  Encapsulation,  Inheritance,  Polymorphism, and  Message Passing

12 Basic Concepts of OO12 Prepared by: Bavy LI Encapsulation hides implementation, shows only interface  "Encapsulation is the process of hiding all of the details of an object that do not contribute to its essential characteristics." – Booch

13 Basic Concepts of OO13 Prepared by: Bavy LI 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".

14 Basic Concepts of OO14 Prepared by: Bavy LI Message Passing a message is an invocation of a method on an object  "an object-oriented program is a bunch of objects laying around sending messages to one another."

15 Basic Concepts of OO15 Prepared by: Bavy LI 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.


Download ppt "Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI."

Similar presentations


Ads by Google