Object orientation concepts

Slides:



Advertisements
Similar presentations
Object-Oriented Programming Session 9 Course : T Programming Language Concept Year : February 2011.
Advertisements

Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Chapter 1 Object-Oriented System Development
1 Chapter 1 Object-Oriented Programming. 2 OO programming and design Object-oriented programming and design can be contrasted with alternative programming.
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
1 Programming for Engineers in Python Autumn Lecture 5: Object Oriented Programming.
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Objects First with Java A Practical Introduction using BlueJ
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
Basic OOP Concepts and Terms
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
Object-Oriented Databases
Chapter 10 Classes Continued
OOP in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
5.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
OOPs Object oriented programming. Based on ADT principles  Representation of type and operations in a single unit  Available for other units to create.
CS 403 – Programming Languages Class 25 November 28, 2000.
School of Computer Science & Information Technology G6DICP - Lecture 22 The Theory of Object Oriented Programming.
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.
Introduction to Object Oriented Programming CMSC 331.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
1 © Prentice Hall, 2002 Chapter 14: Object-Oriented Data Modeling Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
School of Computer Science & Information Technology G6DICP - Lecture 17 GUI (Graphical User Interface) Programming.
More on Hierarchies 1. When an object of a subclass is instantiated, is memory allocated for only the data members of the subclass or also for the members.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
Chapter 12 Support for Object oriented Programming.
ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: 3220a.htm
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
Abstraction ADTs, Information Hiding and Encapsulation.
5.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
Lecture 10 Concepts of Programming Languages Arne Kutzner Hanyang University / Seoul Korea.
CS451 - Lecture 2 1 CS451 Lecture 2: Introduction to Object Orientation Yugi Lee STB #555 (816) * Acknowledgement:
(1) ICS 313: Programming Language Theory Chapter 12: Object Oriented Programming.
OOPs Object oriented programming. Abstract data types  Representationof type and operations in a single unit  Available for other units to create variables.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
Data Design and Implementation. Definitions Atomic or primitive type A data type whose elements are single, non-decomposable data items Composite type.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi © 2013 Pearson.
Sadegh Aliakbary Sharif University of Technology Fall 2010.
ISBN Chapter 12 Support for Object-Oriented Programming.
6.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
Modern Programming Tools And Techniques-I
Sections Inheritance and Abstract Classes
Object-Oriented Programming Concepts
Object-Oriented Modeling
The Movement To Objects
Objects First with Java A Practical Introduction using BlueJ
Interface, Subclass, and Abstract Class Review
Introduction to Design Patterns
Object Oriented Concepts -II
Week 4 Object-Oriented Programming (1): Inheritance
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Types of Programming Languages
Section 11.1 Class Variables and Methods
MSIS 670 Object-Oriented Software Engineering
Advanced Programming Behnam Hatami Fall 2017.
Testing with OO OO has several key concepts:
Parameter Passing Actual vs formal parameters
Java Programming Course
ITEC 3220A Using and Designing Database Systems
Basic OOP Concepts and Terms
1.4 ทบทวน JAVA OO Programming Concepts Declaring and Creating Objects
Object Oriented Analysis and Design
Lecture 10 Concepts of Programming Languages
Jim Fawcett CSE687 – Object Oriented Design Spring 2014
Presentation transcript:

Object orientation concepts Building blocks of modern software practice 9/18/2018 S P Pal

Classes and Objects Physical entities User interface components Rules Controllers Protocols Schedulers 9/18/2018 S P Pal

Classes Similar objects constitute a class ADTs (Abstract Data Types) Operating functions or behavior Object-based languages like SIMULA67 and ADA offer classes or ADTs 9/18/2018 S P Pal

Inheritance Reuse of data and behavior specifications If C2 is a subclass, its instances inherit data and behavior of instances of C1 Collection C2 is a subset if C1 Java supports inheritance and is therefore an object oriented language C++ supports inheritance from multiple classes Inheritance provides flexibility in design Languages like C++ and Java provide inheritance and are called object-oriented 9/18/2018 S P Pal

Repeated inheritance Suppose C1 and C2 inherit from B C3 in turn inherits from both C1 and C2 C3 may clash on some data item or behavior revealing inconsistencies Java avoids this facility and C++ circumvents these problems rather clumsily ! 9/18/2018 S P Pal

Inheritance hierarchy Multiple levels in the inheritance hierarchy provide ease and flexibility in design Define several levels of specialized classes as required in the problem domain e.g., students, PG students, research scholars Create very complex classes that have too many behaviors and data items 9/18/2018 S P Pal

Multilevel inheritance Base C1 C2 C5 C3 C4 9/18/2018 S P Pal

Polymorphism Use same name for invoking similar operations irrespective of the types of objects Draw(x1,y1) : draw a point Draw(x1,y1,x2,y2): draw a segment Draw(X1,y1,x2): draw a circle with center at (x1,y1) and radius x2 Graphical-object.draw(…) Simplified code writing Code need not be rewritten: extendible 9/18/2018 S P Pal

Parameter passing Pass primitive data types by value No side effects Functional approach, recursive, stack-based Pass objects by reference Big sized objects may cause stack overflow Objects are persistent entities with global references, not to be copied or destroyed 9/18/2018 S P Pal