CPT 140 Programming Constructs1 OBJECT ORIENTED TECHNOLOGY Terminology and Basic Concepts.

Slides:



Advertisements
Similar presentations
When is Orientated Programming NOT? Mike Fitzpatrick.
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.
Stéphane Ducasse2.1 OOP? What is OOP? Why? OOP in a nutshell.
Introduction To System Analysis and Design
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Object-oriented analysis (OOA) techniques are used to (1) study existing objects to see if they can be reused or adapted for new uses, and (2) define new.
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Object Oriented System Development with VB .NET
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Fall 2007ACS-1805 Ron McFadyen1 Programming Concepts Chapter 4 introduces more advanced OO programming techniques. Construction of a programs usually requires:
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
Object-Oriented Programming Concept. Concepts of Object Orientation Objects and classes. method Message passing Inheritance.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
Object-oriented Programming Concepts
Irwin/McGraw-Hill Copyright © 2000 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS5th Edition.
Visual Basic Introduction IDS 306 from Shelly, Cashman & Repede Microsoft Visual Basic 5: Complete Concepts and Techniques.
Object-oriented analysis (OOA) techniques are used to (1) study existing objects to see if they can be reused or adapted for new uses, and (2) define new.
Representing Systems Sixth Meeting. Modeling Systems Models block-diagram Used throughout engineering Represents behavior and structure of systems. Only.
C++ fundamentals.
BACS 287 Basics of Object-Oriented Programming 1.
The chapter will address the following questions:
Introduction To System Analysis and design
Object Oriented Software Development
Object Orientation An Object oriented approach views systems and programs as a collection of interacting objects. An object is a thing in a computer system.
Introduction to Object-oriented programming and software development Lecture 1.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
BCS 2143 Introduction to Object Oriented and Software Development.
An Object-Oriented Approach to Programming Logic and Design
Object Oriented Programming CS160 - OOP. Objects Objects are a Objects are a way to organize and conceptualize a program as a set of interacting objects.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
CONCEPTS OF OBJECT ORIENTED PROGRAMMING. Topics To Be Discussed………………………. Objects Classes Data Abstraction and Encapsulation Inheritance Polymorphism.
Introduction to Objects Adapted from “TEN STEPS TO OBJECT-SPEAK” a CPT Tech Talk by Joy Starks September 17, 1999.
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.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
1 Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill Chapter 2: Object Basics Object-Oriented Systems Development Using the Unified Modeling.
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 Programming •Object-Oriented Programming (OOP) allows you to create your program based upon modeling objects.  Your program’s properties.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Learners Support Publications Object Oriented Programming.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
Salman Marvasti Sharif University of Technology Winter 2015.
Chapter 4 Basic Object-Oriented Concepts. Chapter 4 Objectives Class vs. Object Attributes of a class Object relationships Class Methods (Operations)
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.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
Basic Characteristics of Object-Oriented Systems
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Sachin Malhotra Saurabh Choudhary
Programming Logic and Design Seventh Edition
JAVA By Waqas.
The Movement To Objects
Programming in Java Sachin Malhotra, Chairperson, PGDM-IT, IMS Ghaziabad Saurabh Chaudhary, Dean, Academics, IMS Ghaziabad.
The Object-Oriented Thought Process Chapter 1
OOP What is problem? Solution? OOP
Object Oriented Concepts -I
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Object-oriented Design in Processing
ITEC 3220A Using and Designing Database Systems
Object Oriented Analysis and Design
Object-oriented Design in Processing
Object-Oriented Programming (OOPs)
Object-oriented Design in Processing
Call and return architectures
The OOTP is intended to get you thinking about how OO concepts are used in designing object-oriented systems. Note: not talking about OO technologies that.
Presentation transcript:

CPT 140 Programming Constructs1 OBJECT ORIENTED TECHNOLOGY Terminology and Basic Concepts

CPT 140 Programming Constructs2 OBJECTIVES n Discuss the history of Object Oriented Technology (OT) n Describe basic concepts of OT n Define terms in Object Oriented Analysis & Design (OAD) and Programming (OOP) n Relate definitions to real-world examples n Mention some benefits of OT

CPT 140 Programming Constructs3 HISTORY OF OT n 1969 n Dr. Kristin Nygaard of Norway n Model fjord and movement of ships passing through it

CPT 140 Programming Constructs4 HISTORY OF OT n The Problem ä structured programming separates data from procedures n The Solution ä Object Oriented Programming ä model each component (data and procedure) as a single unit ä model relationships between components

CPT 140 Programming Constructs5 OT BASIC CONCEPTS n Objects and Classes n Operations n Requests n Attributes n Inheritance n Encapsulation n Polymorphism

CPT 140 Programming Constructs6 WHAT’S AN OBJECT? n Anything, real or abstract, about which we store data n Dr. Nygaard’s objects ä mathematical models of boats ä physical aspects of the fjord being analyzed n Other Examples ä an invoice, an organization, a screen with which a user interacts, a drawing, an airplane, an order-filling process...

CPT 140 Programming Constructs7 WHAT’S AN OPERATION? n An activity that reads or manipulates data of an object n Dr. Nygaard’s operations ä boats float, sink, move etc. n Other Examples ä calculating a total, checking a balance, adding a new employee, changing an address, deleting a customer...

CPT 140 Programming Constructs8 HOW OBJECTS COMMUNICATE n An object is sent a message, which in turn causes an operation to be invoked n Sometimes the operation returns a response

CPT 140 Programming Constructs9 WHAT’S AN ATTRIBUTE? n Characteristics that add detail to an object n Dr. Nygaard’s attributes ä color, weight, size, etc. n Other Examples ä someone’s name or address, an employee’s title, a book’s author, a part number, a room’s dimensions

CPT 140 Programming Constructs10 INHERITING ATTRIBUTES n Objects can be decomposed into other objects n Generalization hierarchy n Supertype versus subtype n An object inherits the attributes in its parent class

CPT 140 Programming Constructs11 SAMPLE GENERALIZATION HIERARCHY

CPT 140 Programming Constructs12 OBJECT ORIENTED ANALYSIS & DESIGN (OAD) n The steps Ê Find Classes and Objects Ë Define Attributes Ì Define Services n Confused? Welcome to the OO Paradigm!

CPT 140 Programming Constructs13 WHAT ARE CLASSES OF OBJECTS? n An object type or object class is a category of an object that has similar characteristics and behavior n Examples ä employee or student n Aha! ä An object type is found in the generalization hierarchy

CPT 140 Programming Constructs14 OBJECT INSTANCES n An object instance is an example of an object type n Examples ä John P. Smith, Invoice #12356 n And just to make it all really confusing, object instances are sometimes called objects!

CPT 140 Programming Constructs15 OBJECT ORIENTED PROGRAMMING (OOP) n More synonyms: ä operations are called methods ä messages are called requests or events n An event contains the object name, the method, and maybe a group of parameters n Once an object receives an event, it runs a script (program) that may modify its state or send messages to other objects

CPT 140 Programming Constructs16 ENCAPSULATION n The process of making implementation details of an object transparent to a user n Packaging data and operations together n Also called information hiding n The black box

CPT 140 Programming Constructs17 POLY-WHAT? n Polymorphism ä allows an instruction to be given to an object in the form of a generalized, rather than specific, detailed command ä while specific actions would be different, results are the same

CPT 140 Programming Constructs18 COMPARING SYNONYMS

CPT 140 Programming Constructs19 SOME BENEFITS OF OT n Reusability ä classes can be reused or inherited n Stability ä over time, classes become more stable n Easier Design ä black box concept n Faster Design ä create applications from existing components

CPT 140 Programming Constructs20 SUMMARY BY EXAMPLE n A VCR IS an object n A Sony VCR is an object type n Serial #9234 of Sony VCR is an object instance n Playback, record, and audio dubbing are examples of VCR operations n The concept that the VCR contains complex components you assume work is encapsulation n When you use a remote control, you are sending requests to the VCR