ProgrammingLanguages Programming Languages Object-oriented Programming Languages This lecture discusses the concept of object- oriented programming.

Slides:



Advertisements
Similar presentations
Object Oriented Programming
Advertisements

EDUC4417 Senior Computers Dr. Mumbi Kariuki January 28, 2004 Object-Orientation David Cuillerier.
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Object-Oriented Programming. 2 An object, similar to a real-world object, is an entity with certain properties, and with the ability to react in certain.
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.
Unified Modeling Language
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
More about classes and objects Classes in Visual Basic.NET.
Introduction To System Analysis and Design
Object-Oriented Design & Programming Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
1 CMSC 132: Object-Oriented Programming II Software Development IV Department of Computer Science University of Maryland, College Park.
Object-oriented Programming Concepts
1 Introduction to C++ Programming Concept Basic C++ C++ Extension from C.
C++ fundamentals.
OBJECT ORIENTED PROGRAMMING
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Introduction To System Analysis and design
Introduction to Object-oriented Programming CSIS 3701: Advanced Object Oriented Programming.
Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.
C++ Object Oriented 1. Class and Object The main purpose of C++ programming is to add object orientation to the C programming language and classes are.
CSCI-383 Object-Oriented Programming & Design Lecture 4.
BCS 2143 Introduction to Object Oriented and Software Development.
Welcome to OBJECT ORIENTED PROGRAMMIN Date: 10/09/2014 Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
An Object-Oriented Approach to Programming Logic and Design
CONCEPTS OF OBJECT ORIENTED PROGRAMMING. Topics To Be Discussed………………………. Objects Classes Data Abstraction and Encapsulation Inheritance Polymorphism.
CS 325: Software Engineering March 17, 2015 Applying Patterns (Part A) The Façade Pattern The Adapter Pattern Interfaces & Implementations The Strategy.
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
CS200 Algorithms and Data StructuresColorado State University Part 4. Advanced Java Topics Instructor: Sangmi Pallickara
Object-Oriented Software Development F Software Development Process F Analyze Relationships Among Objects F Class Development F Class Design Guidelines.
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.
SNPL1 Woochang Lim What (Variable) + How (Function) = Object Objects are the physical and conceptual things we find in the universe around us. Object-Oriented.
1 COSC3306: Programming Paradigms Lecture 6: Object-Oriented Programming Specifications Haibin Zhu, Ph.D. Computer Science Nipissing University (C) 2003.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
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.
1.
9-Dec Dec-15  INTRODUCTION.  FEATURES OF OOP.  ORGANIZATION OF DATA & FUNCTION IN OOP.  OOP’S DESIGN.
Chapter 8: Aspect Oriented Programming Omar Meqdadi SE 3860 Lecture 8 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
(1) ICS 313: Programming Language Theory Chapter 12: Object Oriented Programming.
Copyright © 2006 Pearson Addison-Wesley. All rights reserved Learning Objectives  Inheritance  Virtual Function.
Inheritance CSI 1101 Nour El Kadri. OOP  We have seen that object-oriented programming (OOP) helps organizing and maintaining large software systems.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Object-Oriented Design.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science)
OO in Context Lecture 13: Dolores Zage. Confused about OO Not alone, there is much confusion about OO many programs are claimed to be OO but are not really.
Copyright 2006 Oxford Consulting, Ltd1 January Introduction to C++ Programming is taking A problem Find the area of a rectangle A set of data.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Objective You will be able to define the basic concepts of object-oriented programming with emphasis on objects and classes by taking notes, seeing examples,
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
1 CSE Programming in C++. 2 Overview Sign roster list Syllabus and Course Policies Introduction to C++ About Lab 1 Fill Questionnaire.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Perimeter & Surface Area Today’s lesson will cover…  finding perimeter and surface area of polygons  using formulas to solve problems involving surface.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
Programming paradigms
Object-Orientated Programming
Chapter 11 Object-Oriented Design
OOP What is problem? Solution? OOP
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
Learning Objectives Inheritance Virtual Function.
C++ Object Oriented 1.
Presentation transcript:

ProgrammingLanguages Programming Languages

Object-oriented Programming Languages This lecture discusses the concept of object- oriented programming. The concepts we will cover include the notions of object and classes, patterns for objects, inheritance of operations, the maintenance of control over dependencies, and the dynamic nature of operations as an essential feature of reuse.

It began in the 1960s with the Simula project, an attempt to design a programming language that extends Algol60 in a way suitable for performing computer simulations of real-world situations.It began in the 1960s with the Simula project, an attempt to design a programming language that extends Algol60 in a way suitable for performing computer simulations of real-world situations. One of the central ideas was to incorporate the notion of an object,One of the central ideas was to incorporate the notion of an object, Object-oriented programming which, similar to a real-world object, is an entity with certain properties, and with the ability to react in certain ways to events.which, similar to a real-world object, is an entity with certain properties, and with the ability to react in certain ways to events. Simula influences the development of abstract data type mechanisms and the object paradigm.Simula influences the development of abstract data type mechanisms and the object paradigm.

Object-oriented programming languages address themselves to two issues in software design:Object-oriented programming languages address themselves to two issues in software design: (1) the need to reuse software components as much as possible,(1) the need to reuse software components as much as possible, Software Reuse and Independence (2) the need to maintain the independence of different components.(2) the need to maintain the independence of different components. extension, restriction, redefinition, abstraction, and "polymorphization“.extension, restriction, redefinition, abstraction, and "polymorphization“. There are five basic ways that a software component can be modified for reuse:There are five basic ways that a software component can be modified for reuse:

A text window can be defined as a window with some added text to be displayed. Thus a text window extends a window by adding data, without necessarily changing the operations to be performed.A text window can be defined as a window with some added text to be displayed. Thus a text window extends a window by adding data, without necessarily changing the operations to be performed.Extension As an example of modification by extension, a window is defined on a computer screen as a rectangle specified by its four corners, with operations that may include translate, resize, display, and erase.As an example of modification by extension, a window is defined on a computer screen as a rectangle specified by its four corners, with operations that may include translate, resize, display, and erase. This is the extension of the data and/or operations.This is the extension of the data and/or operations.

For example, a rectangle has both a length and a width, but a square has length equal to width, so one piece of data can be dropped in creating a square.For example, a rectangle has both a length and a width, but a square has length equal to width, so one piece of data can be dropped in creating a square.Restriction Restriction is essentially the opposite operation from the extension.Restriction is essentially the opposite operation from the extension. This is the restriction of the data and/or operations.This is the restriction of the data and/or operations. Restriction is a mechanism that is rarely seen in programming languagesRestriction is a mechanism that is rarely seen in programming languages

Even if the operations of a new data item remain essentially the same, it may be necessary to redefine some of them to accommodate new behavior.Even if the operations of a new data item remain essentially the same, it may be necessary to redefine some of them to accommodate new behavior.Redefinition This is the redefinition of one or more of the operations.This is the redefinition of one or more of the operations. For example, a square is obtained from a rectangle, an area or perimeter function may need to be redefined to take into account the reduced data needed in the computation.For example, a square is obtained from a rectangle, an area or perimeter function may need to be redefined to take into account the reduced data needed in the computation.

Abstraction This is the collection of similar operations from two different components into a new component.This is the collection of similar operations from two different components into a new component. For example, a circle and a rectangle are both objects that have position and that can be translated and displayed.For example, a circle and a rectangle are both objects that have position and that can be translated and displayed. These properties can be combined into an abstract object called a figure,These properties can be combined into an abstract object called a figure, which has the common features of circles, rectangles, triangles, and so on.which has the common features of circles, rectangles, triangles, and so on.

Polymorphization or the extension of the type of data that operations can apply to.or the extension of the type of data that operations can apply to. A good example might be that of a print function, which should be applicable to any variable as long as its value is printable.A good example might be that of a print function, which should be applicable to any variable as long as its value is printable. Extending the types that an operation applies to can also be viewed as an example of abstraction, where common operations from different types are abstracted and collected together.Extending the types that an operation applies to can also be viewed as an example of abstraction, where common operations from different types are abstracted and collected together. There are two kinds of polymorphism: overloading and parameterized types.There are two kinds of polymorphism: overloading and parameterized types.

Restricting access to internal details Restricting access to internal details of software components is another.Restricting access to internal details of software components is another. Design for reuse is not the only goal of object- oriented languages.Design for reuse is not the only goal of object- oriented languages. Mechanisms for restricting access to internal details go by several names:Mechanisms for restricting access to internal details go by several names: Encapsulation mechanisms,Encapsulation mechanisms, Information hiding mechanisms, orInformation hiding mechanisms, or Protection mechanisms.Protection mechanisms.