CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.

Slides:



Advertisements
Similar presentations
Ch4: Software Architecture and Design. 1 Object-oriented paradigm  Object-oriented decomposition:  Agents comprised of two parts:  Hidden implementation:
Advertisements

1 OBJECT-ORIENTED CONCEPTS. 2 What is an object?  An object is a software entity that mirrors the real world in some way.  A software object in OOP.
Computer Science Dept. Fall 2003 Object models Object models describe the system in terms of object classes An object class is an abstraction over a set.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Classes & Objects Computer Science I Last updated 9/30/10.
Stéphane Ducasse2.1 OOP? What is OOP? Why? OOP in a nutshell.
Object-Oriented Analysis and Design
Chapter 1 Object-Oriented System Development
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
1 Lecture 4 Behaviour Modelling Requirement Specification Object-Oriented Paradigm.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
What is an object? Your dog, your desk, your television set, your bicycle. Real-world objects share two characteristics: They all have state and behavior;
Basic OOP Concepts and Terms
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
Chapter 8 Analysis Modeling
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Object-Oriented Databases
Object-oriented Programming Concepts
CS /36 Illinois Institute of Technology CS487 - Software Engineering Object -Oriented Concepts & Principle - Chapt 19 David A. Lash.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
BACS 287 Basics of Object-Oriented Programming 1.
Building The Analysis Model. Object-Oriented Analysis The object oriented analysis define all classes, the relationships and behavior associated with.
Introduction To System Analysis and design
1 CSc 131 Computer Software Engineering Fall 2012 Lecture # 7 Object-Oriented Design & UML Class Models.
Introduction to Object-oriented programming and software development Lecture 1.
BCS 2143 Introduction to Object Oriented and Software Development.
Object Oriented Concepts & Principles Ingrid Kirschning & Gerardo Ayala.
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Computer Concepts 2014 Chapter 12 Computer Programming.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
CSC480 Software Engineering Lecture 11 September 30, 2002.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
Kal Bugrara, Ph.DSoftware Engineering Northeastern University Fundamentals Of Software Engineering Lecture V.
ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: 3220a.htm
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Abstraction ADTs, Information Hiding and Encapsulation.
Introduction to OOAD and the UML
CS451 - Lecture 2 1 CS451 Lecture 2: Introduction to Object Orientation Yugi Lee STB #555 (816) * Acknowledgement:
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
Chapter 4 Basic Object-Oriented Concepts. Chapter 4 Objectives Class vs. Object Attributes of a class Object relationships Class Methods (Operations)
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
CMSC 345 Fall 2000 OO Design. Characteristics of OOD Objects are abstractions of real-world or system entities and manage themselves Objects are independent.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Object-Oriented Design
Programming paradigms
Cmpe 589 Spring 2006.
Business System Development
JAVA By Waqas.
The Movement To Objects
The Object-Oriented Thought Process Chapter 1
Object Oriented Concepts -I
ITEC 3220A Using and Designing Database Systems
Basic OOP Concepts and Terms
Chapter 20 Object-Oriented Concepts and Principles
Presentation transcript:

CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts

The OO Mindset problem domain objects

Classes Object-oriented thinking begins with the definition of a class often defined as:Object-oriented thinking begins with the definition of a class often defined as: – template – generalized description – “blueprint”... describing a collection of similar items A metaclass (also called a superclass) is a collection of classes.A metaclass (also called a superclass) is a collection of classes.

What Is a Class?  A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics. –An object is an instance of a class.  A class is an abstraction in that it –Emphasizes relevant characteristics. –Suppresses other characteristics.

What is a Class? external entities things occurrences roles organizational units places structures class name attributes: operations:

What is an Object?  Objects are key to understanding object-oriented technology. object-oriented  Many examples of real-world objects: your desk, your television set, your bicycle.  These real-world objects share two characteristics: state and behavior.

Objects Software objects are modeled after real-world objects in that they too have state and behavior.  A software object maintains its state in one or more variables. variables variables  A software object implements its behavior with methods. methods.  A method is a function (subroutine) associated with an object.

Object Types  External entities: sensors, actuators, control panel, devices  Information items : displays, commands, etc.  Entities which establishes the context of the problem : controller, monitors, schedulers

Identifying Classes  An object may appear as a noun (ex. Measurement) or disguised in a verb (to measure)  A method might appear as a verb (ex. Investigate) or disguised in a noun (investigation)  Attributes describe some kind of characteristics for the object (adjectives).

Criteria for Evaluating Candidate Classes One or more attributes One or more attributes Needed functionality (one or more methods) Needed functionality (one or more methods) Common attributes (apply to all objects of a specific class) Common attributes (apply to all objects of a specific class) Common functionality (apply to all objects of a specific class) Common functionality (apply to all objects of a specific class)

Building a Class

Encapsulation/Hiding The object encapsulates both data and the logical procedures required to manipulate the data Achieves “information hiding” method # 1 data method # 2 method # 4 method # 5 method # 6

Class Hierarchy chair table desk instances of chair furniture (superclass) subclasses of the furniture superclass

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.

Encapsulation, Inheritance, and Polymorphism  A class encapsulates data and operations that manipulates the data in a single package  Benefits of encapsulation: –implementation details are hidden (information hiding)- reduces the propagation of side effects when changes occur. –Data structure and operations are in a single entity (class) – component reuse –Object interfaces are simplified – by message passing and objects are not concerned with the details of internal data structures.

Inheritance  It is a key concept in OO paradigm  A subclass inherits all of the attributes and operations associated with its superclass.  It differentiates between conventional and OO development.  This implies that all data structures and algorithms that implemented for superclass are available for the subclass- Reuse is accomplished.

Polymorphism  One operation – different results  Reduces design  Reduces effort to extend the system

Questions ….