Postgraduate Computing Lectures OO Concepts 1 Object Oriented Programs: Basic Concepts Nick West.

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

PROGRAMMING LANGUAGE (JAVA) UNIT 42 BY ROBERT BUTTERFIELD TELEPHONE Data Structures and Algorithms.
When is Orientated Programming NOT? Mike Fitzpatrick.
Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Chapter 14 (Web): Object-Oriented Data Modeling
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
Object-Oriented Databases
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
C++ fundamentals.
Chapter 14: Object-Oriented Data Modeling
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
Object Oriented Programming
Introduction To System Analysis and design
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
CHAPTER 13 (ONLINE): OBJECT-ORIENTED DATA MODELING © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 13 (Online): Object-Oriented Data Modeling Modern Database Management 10 th Edition.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
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.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Learners Support Publications Object Oriented Programming.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
Abstraction ADTs, Information Hiding and Encapsulation.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Microsoft Visual Basic 2008 CHAPTER ELEVEN Multiple Classes and Inheritance.
Chapter 10, Slide 1 ABSTRACT DATA TYPES Based on the fundamental concept of ABSTRACTION:  process abstraction  data abstraction Both provide:  information.
INM205 Object Oriented Programming in JAVA Dr. Michael Casey Department of Computing.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Basic Concepts of OOP.  Object-Oriented Programming (OOP) is a type of programming added to php5 that makes building complex, modular and reusable web.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
CSCE 240 – Intro to Software Engineering Lecture 3.
Chapter 11: Abstract Data Types Lecture # 17. Chapter 11 Topics The Concept of Abstraction Advantages of Abstract Data Types Design Issues for Abstract.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
Object Oriented Systems Design
Object Oriented Programming
Distributed Shared Memory
Object-Oriented Analysis and Design
ABSTRACT DATA TYPES Based on the fundamental concept of ABSTRACTION:
Object Oriented Concepts -I
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Anatomy of a Class & Method
SNSCT_CSE_PROGRAMMING PARADIGM_CS206
Lec 3: Object-Oriented Data Modeling
Object-Oriented Programming
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Object-Oriented Programming
Object-Oriented Programming
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 20 Object-Oriented Concepts and Principles
Presentation transcript:

Postgraduate Computing Lectures OO Concepts 1 Object Oriented Programs: Basic Concepts Nick West

Postgraduate Computing Lectures OO Concepts 2 Drawbacks of “Structured” Design Working in Solution Domain Process Dominated –But Program = Software and Data! –Data structuring takes second place. Reusability Not Encouraged –But “The best way not to create bugs is not to write code!” Process This is a Computer, but more natural to describe problem in terms of Objects

Postgraduate Computing Lectures OO Concepts 3 The World is Full of Objects! Consider:- –Power Supply:- Just a source of 240V AC. Not a complex of circuits, grids, transformers, power stations… –Telephone:- Just connects to a remote phone. Not a complex of circuits, exchanges, land lines, satellite links… –Simple Model (Data Abstraction) –Hidden Complexity (Data Hiding). PC Hardware Bus Memory CPU Screen Disk Drive Could this be done in Software? } All have Internal Complexity. But relatively simple Interface. Allows- Upgrading existing PC - Building new PC.

Postgraduate Computing Lectures OO Concepts 4 Object Oriented Paradigm Object: – A miniture Program consisting of:- Set of internal variables. Set of functions to manipulate them. Externally:- –Only access functions. –Variables hidden; object controls access. Immediate Advantages –More Natural - to state problem in terms of objects. Also good for User Interface. –Data Hiding As with SA/SD only specify function; implementation can change. Unlike SA/SD data can change, leads naturally to data abstraction. –Locality or Data Encapsulation ensures code robust; can rigorously test all states and flow paths.

Postgraduate Computing Lectures OO Concepts 5 Classes and Inheritance CLASSES Sets of objects with similar properties form a class. Can create an arbitrary number of objects (called instances of class ). INHERITANCE Can create a new class (subclass) developed from another (base class) by adding more variables and functions. Example: Window Manager SpreadsheetEditor Event Display Window Subclass (application specific) Base class (for basics e.g. move, resize, iconise)