The Object Model Lecture OO02 Classes as Abstract Data Types

Slides:



Advertisements
Similar presentations
Object-Oriented Programming Basics Prof. Ankur Teredesai, Computer Science Department, RIT.
Advertisements

Design Patterns for Object Oriented systems CSC 515 Ashwin Dandwate.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
C++ Training Datascope Lawrence D’Antonio Lecture 4 An Overview of C++: What is a Class/Object?
Data and Process Modeling
Spring 2010CS 2251 Design Patterns. Spring 2010CS 2252 What is a Design Pattern? "a general reusable solution to a commonly occurring problem in software.
Chapter 13 (Online): Object-Oriented Databases
Class Diagram Notation Lecture Oo12 Classes Packages.
Class Relationships Lecture Oo10 Dependencies. References n Booch, et al, The Unified Modeling Language User Guide, Chapt 5 p.69, Chapt 9 130, Chapt 10.
Object-Oriented Modeling Chapter 10 CSCI CSCI 1302 – Object-Oriented Modeling2 Outline The Software Development Process Discovering Relationships.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
OOP Class Lawrence D’Antonio Lecture 3 An Overview of C++
Software Architecture and Patterns
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.
Design Principle & Patterns by A.Surasit Samaisut Copyrights : All Rights Reserved.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
Internet and Intranet Protocols and Applications Lecture 5a: HTTP Client-Server Design and Implementation February 15, 2005 Arthur Goldberg Computer Science.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Class Relationships Lecture Oo07 Generalization Relationships.
Class Relationships Lecture Oo08 Polymorphism. References n Booch, et al, The Unified Modeling Language User Guide, Chapt 10 p.125 n Fowler & Scott, UML.
MANAGING COMPLEXITY Lecture OO01 Introduction to Object-oriented Analysis and Design Abstract Data Types.
MAITRAYEE MUKERJI Object Oriented Programming in C++
Chapter 11: Abstract Data Types Lecture # 17. Chapter 11 Topics The Concept of Abstraction Advantages of Abstract Data Types Design Issues for Abstract.
Chapter 5 – System Modeling
Object-Oriented Programming
Identifying Object Relationships, Attributes and Methods
OOP - Object Oriented Programming
Design Patterns: MORE Examples
Main issues: • What do we want to build • How do we write this down
Object-Oriented Programming Basics
Object-Oriented Analysis and Design
Chapter 10 Design Patterns.
Chapter 5:Design Patterns
Object-Oriented Modeling with UML
Chapter 4: Writing Classes
Introduction to Design Patterns
Chapter 11 Object-Oriented Design
Design Patterns.
Chapter 4: Writing Classes
SOFTWARE DESIGN AND ARCHITECTURE
Introduction Object-oriented design. Unified Modeling Language (UML).
CSC 205 – Java Programming II
CSC 205 Programming II Lecture 2 Subclassing.
Advanced Programming Behnam Hatami Fall 2017.
EBusiness Service Oriented Architecture “Not your grandfather’s eBusiness architecture” Duane Nickull Adobe Systems, Incorporated OASIS ebSOA Technical.
What is an Architecture?
Introduction to Design Patterns Part 1
Object-oriented Design in Processing
The Object model The Evolution of the Object Model Elements of the Object Model Applying the Object Model.
The Object-Oriented Thought Process Chapter 07
Patterns.
Software Engineering Lecture 10.
Software Design CMSC 345, Version 1/11.
Advanced Java Programming
Object oriented analysis and design
Chapter 2 Underpinnings of Requirements Analysis
Object-oriented Design in Processing
Copyright 2007 Oxford Consulting, Ltd
Overheads for Computers as Components, 2nd ed.
What is an Architecture?
Basic OOP Concepts and Terms
Overheads for Computers as Components, 2nd ed.
Object Oriented Analysis and Design
Object-oriented Design in Processing
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Chapter 8, Design Patterns Introduction
The Object Paradigm Classes – Templates for creating objects
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Object-oriented Design in Processing
Presentation transcript:

The Object Model Lecture OO02 Classes as Abstract Data Types Understanding Classes and Objects

References Ambler, S., The Object Primer, Cambridge Univ. Press, 2001, Chapter 1 & 2. Booch, G., Object-oriented Analysis and Design, Benjamin Cumings, 1994, Chapter 1. Gamma, E., et al, Design Patterns, Addison Wesley, 1994, Chapter 1

Teaching Points The “Kind-of” Hierarchy What is an object? What is a class? Your first pattern

Review What is an abstract data type? How do multiple architectural views help to cope with complexity? A new kind of hierarchy is a new “kind of@ hierarchy

Decomposition Things or objects in the problem domain It is all in the way we think about the problem

Abstractions Abstract data types Kinds of things Relationships inheritance aggregation use

Hierarchy Akind of@ hierarchy Apart of@ hierarchy

Example: Decomposition of an aircraft as a complex system Remember information-hiding!

The Object Oriented Paradigm No longer a tree of process invocations Now a network of cooperating objects

What is an Object? In-formally A tangible and/or visible thing Something that may be apprehended intellectually Something toward which thought or action is directed

What is an Object? An object has: State (properties, values) Behavior (modifiers, iterators, selectors, constructors, destructors) Identity (???)

What is a class? An abstraction or the Aessence@ of an object represents a set of objects that share a common structure and common behavior (interface) A kind-of-things A single object is simply an instance of a class

Strengths of this kind of decomposition Expression in vocabulary of the problem domain Strong information hiding

What is a Pattern? “A design pattern describes a commonly-recurring structure of communicating components that solve a general design problem in a particular context.” Gamma, et al.

Composite Pattern May be used to describe: File system Graphics objects Aircraft Components etc.

Teaching Points The “Kind-of” Hierarchy What is an object? What is a class? Your first pattern