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.

Slides:



Advertisements
Similar presentations
Object Oriented Programming
Advertisements

Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
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.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Georgia Institute of Technology Workshop for CS-AP Teachers Chapter 3 Advanced Object-Oriented Concepts.
ITEC200 – Week03 Inheritance and Class Hierarchies.
Chapter 1 Object-Oriented System Development
Object-Oriented PHP (1)
Object Oriented System Development with VB .NET
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 COMP 144 Programming Language Concepts Felix Hernandez-Campos Lecture 22: Object-Oriented Programming COMP 144 Programming Language Concepts Spring 2002.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
OOP in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
C++ fundamentals.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Introduction to Object-oriented Programming Introduction to Object-oriented Programming CMPS 2143.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
OOP Languages: Java vs C++
Introduction To System Analysis and design
UFCEUS-20-2 : Web Programming Lecture 5 : Object Oriented PHP (1)
Programming Languages and Paradigms Object-Oriented Programming.
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.
Introduction to Object-oriented programming and software development Lecture 1.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
BCS 2143 Introduction to Object Oriented and Software Development.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
An Object-Oriented Approach to Programming Logic and Design
Object Oriented Concepts & Principles Ingrid Kirschning & Gerardo Ayala.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
ProgrammingLanguages Programming Languages Object-oriented Programming Languages This lecture discusses the concept of object- oriented programming.
© S Ramakrishnan, Monash University oops1.ppt 1 Object-Oriented Programming Systems SFT3021 Semester Lecturer: Sita Ramakrishnan
OOP and Dynamic Method Binding Chapter 9. Object Oriented Programming Skipping most of this chapter Focus on 9.4, Dynamic method binding – Polymorphism.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
OOP: Encapsulation,Abstraction & Polymorphism. What is Encapsulation Described as a protective barrier that prevents the code and data being randomly.
Lecture 12 March 16, The Scope of a Variable What if there are two variables with the same name? –A local or block-local variable can have the same.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Summing Up Object Oriented Design. Four Major Components: Abstraction modeling real-life entities by essential information only Encapsulation clustering.
Abstraction ADTs, Information Hiding and Encapsulation.
CS451 - Lecture 2 1 CS451 Lecture 2: Introduction to Object Orientation Yugi Lee STB #555 (816) * Acknowledgement:
Object-Oriented Programming Chapter Chapter
 Objects versus Class  Three main concepts of OOP ◦ Encapsulation ◦ Inheritance ◦ Polymorphism  Method ◦ Parameterized ◦ Value-Returning.
(1) ICS 313: Programming Language Theory Chapter 12: Object Oriented Programming.
Object Oriented Programming
ISBN Object-Oriented Programming Chapter Chapter
1 Unified Modeling Language, Version 2.0 Chapter 2.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Java Programming, Second Edition Chapter Twelve Advanced Inheritance Concepts.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Basic Concepts of OOP.  Object-Oriented Programming (OOP) is a type of programming added to php5 that makes building complex, modular and reusable web.
Author: DoanNX Time: 45’.  OOP concepts  OOP in Java.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
Object Oriented Programming in Java Habib Rostami Lecture 2.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Inheritance Modern object-oriented (OO) programming languages provide 3 capabilities: encapsulation inheritance polymorphism which can improve the design,
Object-Oriented Programming
Polymorphism in Methods
OOP What is problem? Solution? OOP
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
INTRODUCTION TO OOP Objective:
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
Types of Programming Languages
Object Oriented Analysis and Design
More Object-Oriented Programming
Object-Oriented Programming
Object-Oriented PHP (1)
C++ Object Oriented 1.
Presentation transcript:

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 Video presenations Review questions

OOP: Early History OOP languages began in the 1960s with Simula project (extend Algol60 for simulation) => Simiula67 Simula67’s influence took 2 different directions: Abstract data type (classes) Object paradigm (program = a collection of interacting independent objects) => Smalltalk-80

OOP: Development Beginning in the mid-1980s, object-oriented programming => a language paradigm and a methodology for program design Extremely effective mechanism for promoting code reuse and modifiability => dominant paradigm for large software projects

Major concepts of OOP Address to 3 issues in software design: Need to reuse software component as much as possible Need to modify program behavior with minimal changes to existing code Need to maintain the independence of different components Abstract data type vs. OOP – improved solution to above design problems

Five Basic OOP Elements Extension of the data and/or operations Restriction of the data and/or operations (info hiding, encapsulation, protection) Redefinition of one of more of the operations Abstraction (abstract method) Polymorphism (overloading and overriding)

Code centric and data centric Procedure language (code centric) – code the application in functions/procedures using parameter passing sent in/out data. Function does the transformation – data and function separation OOP language (data centric) – objects, which represent their data internally, contain functionality called methods – data and behavior exist together  less thinking and better organized

Terminology of OOP Encapsulation: the only code that changes an object’s data structure is in the class  easier maintenance Inheritance: a way of defining a new class by saying that it’s like an existing class

Polymorphism An OO feature that gives us the ability to treat an object in a generic manner. Invoke a behavior on existing classes for any new classes with extension and leave the details and differences to the interpreter at run time Different classes can have different behaviors for the same operation (PHP book page 130 example: display())

Overloading and Overriding Overriding – fancy kind of polymorphism is resolved at runtime. It occurs when one class extends another, and the subclass has a method in the super-class. The reason for“fancy” is that you can’t tell until run time. Overloading – trivial kind of polymorphism, resolved by the compiler at compile time. Overloading allows several methods to have the same name, and the compiler will choose by matching on argument type

3 levels of Name Spaces Must put a $this -> keyword in front of the member name (differs from Java or C++ where is optional, $this keyword tells PHP the variable from the object’s name space) 3 levels of name spaces: –Lowest level for local variable inside functions or methods –Middle level for the members of an object –Highest level for global variables

Abstract method A method contains no code and implementer of any possible subtypes must implement the behavior for that method Show PHP book Example page The class-function call operator – ClassName::functionName( ); (page 132 bottom)

PHP’s Limitations No static members (like a global variable but it is tied to class name space) No Destructors for PHP 4 (clean up when script is finished executing) No multiple inheritance

PHP for this week and Assignment 4 PHP include files Language reference: Classes and objects Control structures – include, require Chapter 5 of PHP book

Review Questions How Simula67 influenced programming language development? What are the 3 software design issues that motivate OOP development? What are the major difference between procedure oriented programming and object oriented programming? OOP terminology: Encapsulation, Inheritance, Polymorphism, abstract method