Simon Woodworth Object Oriented Design What is it? Why do it? Simon Woodworth, 19 August 2004.

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

By Waqas Over the many years the people have studied software-development approaches to figure out which approaches are quickest, cheapest, most.
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
BITS Pilani Avinash Gautam Department of Computer Science and Information Systems.
Survey reusability through Object Orient Design Survey reusability through Object Oriented Design Friday, 01 May 2015.
OOP - Object Oriented Programming Object Oriented Programming is an approach to programming that was developed to make large programs easier to manage.
Fall 2006AE6382 Design Computing1 Object Oriented Programming in Matlab Intro to Object- Oriented Programming (OOP) An example that creates a ASSET class.
Object Oriented System Development with VB .NET
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;
1 Basic Object Oriented Concepts Overview l What is Object-Orientation about? l What is an Object? l What is a Class? l Constructing Objects from Classes.
1 Basic Object-Oriented Concepts  Object-Oriented Paradigm What is an Object?  What is a Class?  Constructing Objects from a class Problem Solving in.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Object-oriented concepts.
Introduction to Alice Basics : What is Alice? Object Oriented Definitions What Does it Look Like? Where Can I Use it?
Object-oriented Programming Concepts
Introduction to Programming. To gain a sound knowledge of programming principles To gain a sound knowledge of object- orientation To be able to critically.
CO320 Introduction to Object- Oriented Programming Michael Kölling 3.0.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
CSCI-383 Object-Oriented Programming & Design Lecture 15.
BACS 287 Basics of Object-Oriented Programming 1.
Object Oriented Programming
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
Introduction to Classes, Objects, Methods and Attributes Lecture # 2.
Introduction to Object-oriented programming and software development Lecture 1.
Object Oriented Programming Lecturer: Andreas P. Adi
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
BCS 2143 Introduction to Object Oriented and Software Development.
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
Basic Object-Oriented Concepts
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.
Object-Oriented Programming (OOP) CSC-2071 (3+1=4 Credits) Lecture No. 1 MBY.
Chapter 6 Object-Oriented Java Script JavaScript, Third Edition.
Object-Oriented Design Simple Program Design Third Edition A Step-by-Step Approach 11.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
CSC241 Object-Oriented Programming (OOP) Lecture No. 1.
1 Programming Paradigms Object Orientated Programming Paradigm (OOP)
Learners Support Publications Object Oriented Programming.
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
Programming Paradigms Lecturer Hamza Azeem. What is PP ? Revision of Programming concepts learned in CPLB Learning how to perform “Object-Oriented Programming”
: Maha Sabri Altememe Lecturer : Maha Sabri Altememe Lecture :1 1.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
 Objects versus Class  Three main concepts of OOP ◦ Encapsulation ◦ Inheritance ◦ Polymorphism  Method ◦ Parameterized ◦ Value-Returning.
Object-Oriented Programming. Objectives Distinguish between object-oriented and procedure-oriented design. Define the terms class and object. Distinguish.
Introduction to Classes, Objects, Methods and Attributes Lecture # 5.
Chapter 11 An introduction to object-oriented design.
Next Back MAP MAP F-1 Management Information Systems for the Information Age Second Canadian Edition Copyright 2004 The McGraw-Hill Companies, Inc. All.
Programming. To gain a sound knowledge of programming principles To gain a sound knowledge of object- orientation To be able to critically assess the.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
Object-Oriented Paradigm (OOP) Course Code: SE 101 Lecture No. 1.
 By the end of this lecture, you should …  Understand the three pillars of Object- Oriented Programming: Inheritance, Encapsulation and Polymorphism.
Introduction to Java. Java  An Object-Oriented, platform-neutral, secure language.  Object Oriented – software development method – a program is thought.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 3- Introduction to Object Oriented Programming concepts Topic 3.1 Fundamental Concepts.
CIS 234: Object-Oriented Programming with Java
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
JAVA By Waqas.
Classes and OOP.
Object-Oriented Analysis and Design
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
C++.
Chapter 7 Classes & Objects.
Object-Oriented Programming
Chapter 9 Classes & Objects.
Object-Oriented Programming
Object-Oriented Programming
Extended Learning Module G
Object-Oriented Programming
Workshop for Programming And Systems Management Teachers
Presentation transcript:

Simon Woodworth Object Oriented Design What is it? Why do it? Simon Woodworth, 19 August 2004

Introduction Purpose of this presentation Explain what Object-Oriented Design (OOD) is Explain why it is important as a design and programming methodology OOD is important because … It allows complex programming projects to be broken down into more mangeable sections It reduces the cost of maintaining software

What is Object-Oriented Design? It promotes thinking about software in a way that models how we think about the real world It organises program code into classes of objects Every object is an instance of a class Every object has attributes and behaviours Class: Dog Object: Red Setter Object: Labrador Object: Terrier Object: Bulldog

A class is a collection of things (objects) with similar attributes and behaviours. For example: Dogs What is a Class? Attributes: Four legs, a tail Behaviours: Barking Cars Attributes: Four wheels, engine, 3 or 5 doors Behaviours: Acceleration, braking, turning

What is an Object? An object is a specific instance of a class For example: Volkswagen is an instance of the Car class Attributes (what it looks like): Blue Front wheel drive Max speed 115 mph. Behaviours (what it does): Accelerate Turn Stop

In programming terms … A class is a section of program code that defines how to create and use a specific group of objects. It’s a template for creating new objects An object is a specific instance of a class and has its own place in computer memory Its attributes are stored as data values Its behaviours are defined by program code Every object is different – even if they look exactly the same! For example: My blue Volkswagen is not the same as your blue Volkswagen

Classes and Objects: An Example Class: Account Attributes: Name Number Balance Behaviours: Withdraw Lodge Object: Alice’s Account Attributes: Name = Alice Number = Balance = € Behaviours: Withdraw Lodge Object: Bob’s Account Attributes: Name = Bob Number = Balance = €81.66 Behaviours: Withdraw Lodge

Why is this important? It models how we view the real world Humans tend to categorise what they see into groups Even very small children do it Reduces cost of software development Large complex projects can be subdivided into classes Reliability – the workings of objects can’t be interfered with Classes can be reused in other projects Classes can be maintained without rewriting other program code Introduces new programming concepts Encapsulation Inheritance

Object Oriented Design Concepts Encapsulation We can hide how an object works from other parts of the program Increases reliability because the internal workings of objects are protected from interference Allows us to reuse objects in other programs because their behaviour and attributes are well-defined Allows us to change the way an object works on the inside without changing the way it looks on the outside Example: Car Stereo Standard case size and fittings, regardless of features Can be upgraded without affecting rest of car

Object Oriented Design Concepts Inheritance We can create new classes of objects by inheriting attributes and behaviours from existing classes and then extending them No need to reproduce or duplicate work done in creating original class We can build hierarchies (family trees) of classes Example: Rally Car Inherits properties of class Car … … and extends class Car by adding a rollcage, racing brakes, fire extinguisher, etc.

Conclusion Object Oriented Programming Languages: Java, C++, Visual Basic.NET, C# Object Oriented Design allows us to create program code that is : Reusable Adaptable Maintainable Reliable