The Object-Oriented Thought Process Chapter 1

Slides:



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

When is Orientated Programming NOT? Mike Fitzpatrick.
Chapter 13 – Introduction to Classes
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STARTING OUT WITH Python Python First Edition by Tony Gaddis Chapter 9 Classes.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 11 Classes and Object- Oriented Programming.
1 Chapter 12 Working With Access 2000 on the Internet.
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Software Lifecycle A series of steps through which a software product progresses Lifetimes vary from days to months to years Consists of –people –overall.
ASP.NET Programming with C# and SQL Server First Edition
C++ fundamentals.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
 2003 Prentice Hall, Inc. All rights reserved. 1 Introduction to Classes and Objects Outline Introduction Classes, Objects, Member Functions and Data.
Organizing Information Digitally Norm Friesen. Overview General properties of digital information Relational: tabular & linked Object-Oriented: inheritance.
Benefits of PL/SQL. 2 home back first prev next last What Will I Learn? In this lesson, you will learn to: –List and explain the benefits of PL/SQL –List.
An Object-Oriented Approach to Programming Logic and Design
6 Chapter Databases and Information Management. File Organization Terms and Concepts Bit: Smallest unit of data; binary digit (0,1) Byte: Group of bits.
An Introduction to Java Chapter 11 Object-Oriented Application Development: Part I.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
1 Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill Chapter 2: Object Basics Object-Oriented Systems Development Using the Unified Modeling.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
Copyright 2004 Scott/Jones Publishing Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 7 Structured Data and Classes.
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
Definition of Object - Oriented Language.. Object-oriented programming (OOP) is a programming language model organized around "objects" rather than "actions"
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
1.
1 OOP - An Introduction ISQS 6337 John R. Durrett.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 12 Object-Oriented Programming Starting Out with Games & Graphics.
Black Box Testing : The technique of testing without having any knowledge of the interior workings of the application is Black Box testing. The tester.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Next Back MAP MAP F-1 Management Information Systems for the Information Age Second Canadian Edition Copyright 2004 The McGraw-Hill Companies, Inc. All.
Object-Oriented Design Concepts University of Sunderland.
Data Structures Using Java1 Chapter 1 Software Engineering Principles and Java Classes.
CPS120: Introduction to Computer Science Lecture 16A Object-Oriented Concepts.
Development Environment
Object Oriented Programming
Programming Logic and Design Seventh Edition
The Movement To Objects
Lecture 1 Introduction Richard Gesick.
Object Oriented Programming F3031
Lesson #6 Modular Programming and Functions.
Classes and OOP.
Topics Procedural and Object-Oriented Programming Classes
Lesson #6 Modular Programming and Functions.
Systems Analysis and Design With UML 2
Objects as a programming concept
The Object-Oriented Thought Process Chapter 1
Table of Contents Class Objects.
Chapter 3: Using Methods, Classes, and Objects
About the Presentations
Object Oriented Concepts -I
Introduction to Classes
C++.
Databases and Information Management
Computer Programming.
Lesson #6 Modular Programming and Functions.
Introduction to Classes
Subprograms and Programmer Defined Data Type
CIS16 Application Development Programming with Visual Basic
Lesson #6 Modular Programming and Functions.
CIS16 Application Development and Programming using Visual Basic.net
Extended Learning Module G
The Object-Oriented Thought Process, Chapter 1
CSCI 130 Classes and Objects.
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.
Chapter 20 Object-Oriented Concepts and Principles
Presentation transcript:

The Object-Oriented Thought Process Chapter 1 Introduction to Object-Oriented Concepts

What is an Object? In its basic definition, an object is an entity that contains both data and behavior. This is the key difference between the more traditional programming methodology, procedural programming, and O-O programming.

Procedural Programming In procedural programming, code is placed into methods. Ideally these procedures then become "black boxes", inputs come in and outputs go out. Data is placed into separate structures, and is manipulated by these methods. Here is an illustrative Python example

Unpredictable? First, this means that access to data is uncontrolled and unpredictable. Second, since you have no control over who has access to the data, testing and debugging is much more difficult.

Nice Packages Objects address these problems by combining data and behavior into a single, complete package.

Data and Behaviors Procedural programming separates the data of the program from the operations that manipulate the data. For example, if you want to send information across a network, only the relevant data is sent with the expectation that the program at the other end of the pipe knows what to do with it.

O-O Programming The fundamental advantage of O-O programming is that the data and the operations that manipulate the data are both contained in the object. For example, when an object is transported across a network, the entire object, including the data and behavior, goes with it.

Object Data The data stored within an object represents the state of the object. In O-O programming terminology, this data is called attributes.

Object Behaviors The behavior of an object is what the object can do, i.e. what operations are legal for the object. In procedural languages the behavior is defined by procedures, functions, and subroutines. In O-O programming terminology, object behavior is described by methods

Modeling many similar objects? Modeling each object individually is difficult and error prone For example, when modeling two or more objects of the same type, you have to make sure that every property included in one object is also included in every other object of the same type.

What Exactly Is a Class? A class is a blueprint for an object. The class specifies the properties and behavior for a corresponding object When you instantiate an object, you use a class as the basis for how the object is built. Every object is an instance of some class All instances of the same class possess the same properties and behaviors

What Exactly Is a Class? An object cannot be instantiated without a class. Classes can be thought of as the templates, or cookie cutters, for objects as seen in the next figure.