PHP Foundations. Rafael Corral, Lead Developer 'corephp' CMS Expo 2011

Size: px
Start display at page:

Download "PHP Foundations. Rafael Corral, Lead Developer 'corephp' CMS Expo 2011"

Transcription

1 PHP Foundations Rafael Corral, Lead Developer 'corephp' CMS Expo 2011

2 What is New Object model Assignments and Object Copying Constructors Standard PHP Library (SPL) New Functions / Extensions Much More...

3 Object Model Completely rewritten Reference Visibility OO Classes Constants Magicness autoload

4 Passed by Reference All objects are now passed by reference To copy an object use the clone keyword Stop using the & operator

5 Class Properties Constant Per-class basis Accessed by :: operator No $ symbol to access The value must be an expression only No initialization required Static Can be applied to variables and methods $this cannot be used within a static method Static variables are shared between subclasses No initialization required

6 Visibility Class methods and properties now have visibility Three levels of visibility Public Most visible, anyone can access. Read/Write Protected Access by subclasses, parent and itself Private Access only by class itself

7

8 Construct or Destruct Unified constructor/destructor names Prefixed by two (2) underscores ( ) construct() Method works the same as on PHP4 Backwards Compatible destruct() All references to object are destroyed Script shutdown phase To run parents, one must use parent:: construct()

9

10 Abstract Classes Cannot be initiated Used as a blue print for other classes to extend Any class with abstract methods, must be abstract Subclasses must declare abstract methods from parent These must be defined with less or equal visibility

11

12 Interfaces Used to design APIs Defines the methods a class should implement Not a blueprint but a way to standardize an API A Class can implement any number of them Unlike extending to only one All methods must be public Methods don t have any content defined

13 cont... Interfaces Use implement operator implement in class Use interface to declare interface A Class can implement more than one interface Interfaces can be extended with extend Implemented interfaces cannot share function names Interfaces can have constants just like classes

14

15 Magic Methods These methods are called automatically These are prefixed by two (2) underscores ( ) construct, destruct, call, callstatic, get, set, isset, unset, sleep, wakeup, tostring, invoke, set_state and clone

16 More Magicness sleep and wakeup Run before Object is serialized/ unserialized tostring Run when class is converted to string call and callstatic Run when invoking inaccessible methods

17 Finality PHP5 introduces the final keyword Can be applied to methods and classes For methods - It prevents subclasses from overriding them For classes - States that it is the final class, no subclasses

18 Finality

19 autoload() Used to automatically load PHP files Runs when PHP encounters an undefined class Can be useful instead of having many include() s The SPL library contains a similar function

20 Standard PHP Library Functions to solve problems Class Implements Class Parents Just cool functions

21 About The SPL library is a collection of interfaces and classes These are meant to help solve standard problems

22 Some Functions class_implements( mixed $class ) Returns all interfaces implemented by a class class_parents( mixed $class ) Returns all parent classes for a given class spl_autoload_register([ callback $autoload_function ]) Better than using autload() Can register multiple functions to load class files

23 ArrayObject Turns an array into an object This class contains helpful functions such as: Counting elements Finding a key Get key Set key Unset key

24 SplFileInfo OO Class to get information about an individual file Some included functions are: Last access time Base name Target of a link Get owner/permissions Size/File type If directory isreadable/iswritable

25 Other Features Misc. Type Hinting Exceptions foreach By-Reference New Functions New Extensions

26 Type Hinting Enforce the type of variable passed to functions Functions and Class functions Can only be used for classes or arrays (at this time) No other scalar types (integer, string) If null is the default parameter value It is allowed as an argument

27

28 Exceptions Exceptions are just errors Used to catch exceptions Gain control over error notices Use when executing risky code They work similar to other programming languages Each try{} must have a corresponding catch{} block

29

30 E_strict In PHP5 a new error level is introduced E_STRICT It is not included within E_ALL Value 2048 To call it: error_reporting( E_ALL ^ E_STRICT ); Triggered when using deprecated code Useful in development environment

31 foreach by-reference Reference to value while looping through foreach Careful: After foreach is done reference won t go away Use unset to remove reference

32

33 New Functions array_combine() array_walk_recursive() time_nanosleep() str_split() strpbrk() substr_compare() curl_copy_handle() file_put_contents() get_headers() headers_list() http_build_query() php_strip_whitespace() scandir() a lot more...

34 New Extensions Simple XML Processing of XML (pretty simple) DOM and XSL Building XML/XSL files Hash Functions Library of hash functions (more than md5 or sha1)

35 Compatibility array_merge() Gives error if one of the parameter is not an array array_merget( (array) $var1, (array) $var2 ); To copy objects you must use the clone keyword get_class(), get_parent_class(), get_class_methods() Are not case sensitive An object with no properties is no longer considered empty strpos() and strripos() Now use the entire string as a needle

36 Let go of PHP4 and start developing in PHP5

37 Questions?

38 Thank You! Rafael Corral Skype: rafa.corral

Computer Science II. OO Programming Classes Scott C Johnson Rochester Institute of Technology

Computer Science II. OO Programming Classes Scott C Johnson Rochester Institute of Technology Computer Science II OO Programming Classes Scott C Johnson Rochester Institute of Technology Outline Object-Oriented (OO) Programming Review Initial Implementation Constructors Other Standard Behaviors

More information

1Techniques Every Expert Programmer Needs to Know

1Techniques Every Expert Programmer Needs to Know 1Techniques Every Expert Programmer Needs to Know WHAT S IN THIS CHAPTER? Understanding Object-oriented fundamentals in PHP Understanding INNER and OUTER JOINs Other JOIN syntax you should know Using MySQL

More information

PHP unserialize. Pavel Toporkov

PHP unserialize. Pavel Toporkov PHP unserialize Pavel Toporkov whoami Pavel Toporkov Application Security Specialist at Kaspersky Lab LC/BC CTF team member Unserialize unserialize Creates a PHP value from a stored representation array("foo",

More information

INHERITANCE. Spring 2019

INHERITANCE. Spring 2019 INHERITANCE Spring 2019 INHERITANCE BASICS Inheritance is a technique that allows one class to be derived from another A derived class inherits all of the data and methods from the original class Suppose

More information

WEB APPLICATION ENGINEERING II

WEB APPLICATION ENGINEERING II WEB APPLICATION ENGINEERING II Lecture #9 Umar Ibrahim Enesi Objectives Gain understanding of various constructs used in Object Oriented PHP. Understand the advantages of using OOP style over procedural

More information

Magento Technical Guidelines

Magento Technical Guidelines Magento Technical Guidelines Eugene Shakhsuvarov, Software Engineer @ Magento 2018 Magento, Inc. Page 1 Magento 2 Technical Guidelines Document which describes the desired technical state of Magento 2

More information

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance Contents Topic 04 - Inheritance I. Classes, Superclasses, and Subclasses - Inheritance Hierarchies Controlling Access to Members (public, no modifier, private, protected) Calling constructors of superclass

More information

Working with Functions and Classes

Working with Functions and Classes CHAPTER 5 Working with Functions and Classes IN THIS CHAPTER: 5.1 Defining Custom Functions 5.2 Avoiding Function Duplication 5.3 Accessing External Variables from Within a Function 5.4 Setting Default

More information

Inheritance. Transitivity

Inheritance. Transitivity Inheritance Classes can be organized in a hierarchical structure based on the concept of inheritance Inheritance The property that instances of a sub-class can access both data and behavior associated

More information

PERL Scripting - Course Contents

PERL Scripting - Course Contents PERL Scripting - Course Contents Day - 1 Introduction to PERL Comments Reading from Standard Input Writing to Standard Output Scalar Variables Numbers and Strings Use of Single Quotes and Double Quotes

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming 1. What is object-oriented programming (OOP)? OOP is a technique to develop logical modules, such as classes that contain properties, methods, fields, and events. An object

More information

Migrating to PHP 5.2. Ilia Alshanetsky PHP Works 2006 Toronto, Canada

Migrating to PHP 5.2. Ilia Alshanetsky PHP Works 2006 Toronto, Canada Migrating to PHP 5.2 Ilia Alshanetsky PHP Works 2006 Toronto, Canada 1 Why Migrate? New Features Improved Performance Better Security Greater Stability Actively supported 2 New Features in PHP 5.2 New

More information

Inheritance. Lecture 11 COP 3252 Summer May 25, 2017

Inheritance. Lecture 11 COP 3252 Summer May 25, 2017 Inheritance Lecture 11 COP 3252 Summer 2017 May 25, 2017 Subclasses and Superclasses Inheritance is a technique that allows one class to be derived from another. A derived class inherits all of the data

More information

Atelier Java - J1. Marwan Burelle. EPITA Première Année Cycle Ingénieur.

Atelier Java - J1. Marwan Burelle.  EPITA Première Année Cycle Ingénieur. marwan.burelle@lse.epita.fr http://wiki-prog.kh405.net Plan 1 2 Plan 3 4 Plan 1 2 3 4 A Bit of History JAVA was created in 1991 by James Gosling of SUN. The first public implementation (v1.0) in 1995.

More information

Object Class. EX: LightSwitch Class. Basic Class Concepts: Parts. CS257 Computer Science II Kevin Sahr, PhD. Lecture 5: Writing Object Classes

Object Class. EX: LightSwitch Class. Basic Class Concepts: Parts. CS257 Computer Science II Kevin Sahr, PhD. Lecture 5: Writing Object Classes 1 CS257 Computer Science II Kevin Sahr, PhD Lecture 5: Writing Object Classes Object Class 2 objects are the basic building blocks of programs in Object Oriented Programming (OOP) languages objects consist

More information

Web Scripting using PHP

Web Scripting using PHP Web Scripting using PHP Server side scripting No Scripting example - how it works... User on a machine somewhere Server machine So what is a Server Side Scripting Language? Programming language code embedded

More information

JavaScript CS 4640 Programming Languages for Web Applications

JavaScript CS 4640 Programming Languages for Web Applications JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation

More information

ENCAPSULATION. private, public, scope and visibility rules. packages and package level access.

ENCAPSULATION. private, public, scope and visibility rules. packages and package level access. ENCAPSULATION private, public, scope and visibility rules. packages and package level access. Q. Explain the term Encapsulation with an example? Ans: The wrapping up to data and methods into a single units

More information

Programming for the Web with PHP

Programming for the Web with PHP Aptech Ltd Version 1.0 Page 1 of 11 Table of Contents Aptech Ltd Version 1.0 Page 2 of 11 Abstraction Anonymous Class Apache Arithmetic Operators Array Array Identifier arsort Function Assignment Operators

More information

Inheritance (Part 5) Odds and ends

Inheritance (Part 5) Odds and ends Inheritance (Part 5) Odds and ends 1 Static Methods and Inheritance there is a significant difference between calling a static method and calling a non-static method when dealing with inheritance there

More information

CS 251 Intermediate Programming Methods and Classes

CS 251 Intermediate Programming Methods and Classes CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with

More information

CS 251 Intermediate Programming Methods and More

CS 251 Intermediate Programming Methods and More CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with

More information

Client-Side Web Technologies. JavaScript Part I

Client-Side Web Technologies. JavaScript Part I Client-Side Web Technologies JavaScript Part I JavaScript First appeared in 1996 in Netscape Navigator Main purpose was to handle input validation that was currently being done server-side Now a powerful

More information

JavaScript CS 4640 Programming Languages for Web Applications

JavaScript CS 4640 Programming Languages for Web Applications JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation

More information

CMSC 132: Object-Oriented Programming II

CMSC 132: Object-Oriented Programming II CMSC 132: Object-Oriented Programming II Java Support for OOP Department of Computer Science University of Maryland, College Park Object Oriented Programming (OOP) OO Principles Abstraction Encapsulation

More information

WINTER. Web Development. Template. PHP Variables and Constants. Lecture

WINTER. Web Development. Template. PHP Variables and Constants. Lecture WINTER Template Web Development PHP Variables and Constants Lecture-3 Lecture Content What is Variable? Naming Convention & Scope PHP $ and $$ Variables PHP Constants Constant Definition Magic Constants

More information

CMSC131. Inheritance. Object. When we talked about Object, I mentioned that all Java classes are "built" on top of that.

CMSC131. Inheritance. Object. When we talked about Object, I mentioned that all Java classes are built on top of that. CMSC131 Inheritance Object When we talked about Object, I mentioned that all Java classes are "built" on top of that. This came up when talking about the Java standard equals operator: boolean equals(object

More information

Inheritance. Inheritance allows the following two changes in derived class: 1. add new members; 2. override existing (in base class) methods.

Inheritance. Inheritance allows the following two changes in derived class: 1. add new members; 2. override existing (in base class) methods. Inheritance Inheritance is the act of deriving a new class from an existing one. Inheritance allows us to extend the functionality of the object. The new class automatically contains some or all methods

More information

Understanding the KE IMu Server

Understanding the KE IMu Server EMu Documentation Understanding the KE IMu Server Document Version 1.0 EMu Version 4.0 www.kesoftware.com 2010 KE Software. All rights reserved. Contents SECTION 1 Introduction 3 SECTION 2 How a Handler

More information

C++ Basic Syntax. Constructors and destructors. Wojciech Frohmberg / OOP Laboratory. Poznan University of Technology

C++ Basic Syntax. Constructors and destructors. Wojciech Frohmberg / OOP Laboratory. Poznan University of Technology Constructors and destructors 1 1 Department of Computer Science Poznan University of Technology 2012.10.07 / OOP Laboratory Outline 1 2 3 4 5 Outline 1 2 3 4 5 Outline 1 2 3 4 5 Outline 1 2 3 4 5 Outline

More information

Rules and syntax for inheritance. The boring stuff

Rules and syntax for inheritance. The boring stuff Rules and syntax for inheritance The boring stuff The compiler adds a call to super() Unless you explicitly call the constructor of the superclass, using super(), the compiler will add such a call for

More information

Lecture Contents CS313D: ADVANCED PROGRAMMING LANGUAGE. What is Inheritance?

Lecture Contents CS313D: ADVANCED PROGRAMMING LANGUAGE. What is Inheritance? CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 5: Inheritance & Polymorphism Lecture Contents 2 What is Inheritance? Super-class & sub class Protected members Creating subclasses

More information

2.4 Structuring programs

2.4 Structuring programs 2.4 Structuring programs While theoretically a program could be written as one big expression, in reality we want some structure so that l The programmer has it easier to read the program l A compiler

More information

Inheritance (Extends) Overriding methods IS-A Vs. HAS-A Polymorphism. superclass. is-a. subclass

Inheritance (Extends) Overriding methods IS-A Vs. HAS-A Polymorphism. superclass. is-a. subclass Inheritance and Polymorphism Inheritance (Extends) Overriding methods IS-A Vs. HAS-A Polymorphism Inheritance (semantics) We now have two classes that do essentially the same thing The fields are exactly

More information

The Eobj Perl environment

The Eobj Perl environment The Eobj Perl environment Eli Billauer elib@flextronics.co.il http://search.cpan.org/author/billauer/ The Eobj Perl environment p.1 Lecture overview Introduction: Me, Eobj and OO programming Eobj classes

More information

SQLIImport ez Publish extension. Table of contents PRESENTATION LICENCE. Version Jerome Vieilledent for SQLi Date: 2010/08/26

SQLIImport ez Publish extension. Table of contents PRESENTATION LICENCE. Version Jerome Vieilledent for SQLi Date: 2010/08/26 SQLIImport ez Publish extension Version 1.0-2010 Jerome Vieilledent for SQLi Date: 2010/08/26 Table of contents SQLIImport ez Publish extension 1 PRESENTATION 1 LICENCE 1 USAGE 2 Immediate & Scheduled

More information

Unit3: Java in the large. Prepared by: Dr. Abdallah Mohamed, AOU-KW

Unit3: Java in the large. Prepared by: Dr. Abdallah Mohamed, AOU-KW Prepared by: Dr. Abdallah Mohamed, AOU-KW 1 1. Introduction 2. Objects and classes 3. Information hiding 4. Constructors 5. Some examples of Java classes 6. Inheritance revisited 7. The class hierarchy

More information

Python in 10 (50) minutes

Python in 10 (50) minutes Python in 10 (50) minutes https://www.stavros.io/tutorials/python/ Python for Microcontrollers Getting started with MicroPython Donald Norris, McGrawHill (2017) Python is strongly typed (i.e. types are

More information

Starting To Write PHP Code

Starting To Write PHP Code Starting To Write PHP Code April 22 nd 2014 Thomas Beebe Advanced DataTools Corp (tom@advancedatatools.com) Tom Beebe Tom is a Senior Database Consultant and has been with Advanced DataTools for over 10

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 5: Inheritance & Polymorphism Lecture Contents 2 What is Inheritance? Super-class & sub class Protected members Creating subclasses

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance Introduction Generalization/specialization Version of January 20, 2014 Abstract

More information

Basic Principles of OO. Example: Ice/Water Dispenser. Systems Thinking. Interfaces: Describing Behavior. People's Roles wrt Systems

Basic Principles of OO. Example: Ice/Water Dispenser. Systems Thinking. Interfaces: Describing Behavior. People's Roles wrt Systems Basics of OO Programming with Java/C# Basic Principles of OO Abstraction Encapsulation Modularity Breaking up something into smaller, more manageable pieces Hierarchy Refining through levels of abstraction

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Inheritance Introduction Generalization/specialization Version of January 21, 2013 Abstract

More information

DEV2QA PDT 1.1. Feature Name : Code Completion Module name : PHPCompletionEngine

DEV2QA PDT 1.1. Feature Name : Code Completion Module name : PHPCompletionEngine DEV2QA PDT 1.1 Feature Name : Code Completion Module name : PHPCompletionEngine Writer Date Comment Approved Michael Spector 6/15/2008 1. Dev2QA 2. Target Version PDT 1.1 1. Introduction...2 1.1 Requirement

More information

PHP 7.1 and SQL 5.7. Section Subject Page

PHP 7.1 and SQL 5.7. Section Subject Page One PHP Introduction 2 PHP: Hypertext Preprocessor 3 Some of its main uses 4 Two PHP Structure 5 Basic Structure of PHP 6 PHP Version etc 15 Use of Echo 17 Concatenating Echo 19 Use of Echo with Escape

More information

The Basics. Concepts of Class and Object

The Basics. Concepts of Class and Object Web Programming Week 11 COSC2453-SP2, 2011 OO- Part I 1 2 What are we covering now? The Basics Concepts of class and objects, How to write a class in PHP? Constructors, Visibility Modifiers, Abstract classes,

More information

CS/ENGRD 2110 FALL Lecture 5: Local vars; Inside-out rule; constructors

CS/ENGRD 2110 FALL Lecture 5: Local vars; Inside-out rule; constructors 1 CS/ENGRD 2110 FALL 2018 Lecture 5: Local vars; Inside-out rule; constructors http://courses.cs.cornell.edu/cs2110 Announcements 2 A1 is due tomorrow If you are working with a partner: form a group on

More information

Using SPL Tools in Your Code OTHERWISE KNOWN AS SPL IN THE WILD

Using SPL Tools in Your Code OTHERWISE KNOWN AS SPL IN THE WILD Using SPL Tools in Your Code OTHERWISE KNOWN AS SPL IN THE WILD If you don t know what SPL is or have never used SPL features, this talk might go fast for you. Feedback is good! Why SPL? What SPL? How

More information

Chapter 4 Defining Classes I

Chapter 4 Defining Classes I Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the

More information

Final thoughts on functions F E B 2 5 T H

Final thoughts on functions F E B 2 5 T H Final thoughts on functions F E B 2 5 T H Ordering functions in your code Will the following code work? Here the function is defined after the main program that is calling it. print foo() def foo(): return

More information

CS200: Advanced OO in Java

CS200: Advanced OO in Java Object Oriented Programming CS200: Advanced OO in Java n Programming paradigm using Objects : data structures consisting of data fields and methods together with their interaction. n Object? n Class? n

More information

Index. Note: Boldface numbers indicate code and illustrations; an italic t indicates a table.

Index. Note: Boldface numbers indicate code and illustrations; an italic t indicates a table. Index Note: Boldface numbers indicate code and illustrations; an italic t indicates a table. A absolute positioning, in HTML, 184 187, 184 187 abstract classes, 6, 6 Accept header, 260 265, 261 265 access

More information

PHP: Databases and Classes. CS174. Chris Pollett. Sep 29, 2008.

PHP: Databases and Classes. CS174. Chris Pollett. Sep 29, 2008. PHP: Databases and Classes. CS174. Chris Pollett. Sep 29, 2008. Outline. Databases. Classes. Connecting to MySQL from PHP. To start a connect to a MySQL database one can issue the command: $db = mysql_connect();

More information

Programming overview

Programming overview Programming overview Basic Java A Java program consists of: One or more classes A class contains one or more methods A method contains program statements Each class in a separate file MyClass defined in

More information

Advanced Programming Using Visual Basic 2008

Advanced Programming Using Visual Basic 2008 Building Multitier Programs with Classes Advanced Programming Using Visual Basic 2008 The OOP Development Approach OOP = Object Oriented Programming Large production projects are created by teams Each

More information

CSE 341: Programming Languages

CSE 341: Programming Languages CSE 341: Programming Languages Hal Perkins Spring 2011 Lecture 19 Introduction to Ruby Hal Perkins CSE341 Spring 2011, Lecture 19 1 Today Why Ruby? Some basics of Ruby programs Syntax Classes, Methods

More information

package YourModule; require = = qw(munge frobnicate); # symbols to export on request

package YourModule; require = = qw(munge frobnicate); # symbols to export on request NAME SYNOPSIS Exporter - Implements default import method for modules In module YourModule.pm: require Exporter; @EXPORT_OK = qw(munge frobnicate); # symbols to export on request or use Exporter 'import';

More information

What property of a C# array indicates its allocated size? What keyword in the base class allows a method to be polymorphic?

What property of a C# array indicates its allocated size? What keyword in the base class allows a method to be polymorphic? What property of a C# array indicates its allocated size? a. Size b. Count c. Length What property of a C# array indicates its allocated size? a. Size b. Count c. Length What keyword in the base class

More information

Inheritance (Part 2) Notes Chapter 6

Inheritance (Part 2) Notes Chapter 6 Inheritance (Part 2) Notes Chapter 6 1 Object Dog extends Object Dog PureBreed extends Dog PureBreed Mix BloodHound Komondor... Komondor extends PureBreed 2 Implementing Inheritance suppose you want to

More information

More On inheritance. What you can do in subclass regarding methods:

More On inheritance. What you can do in subclass regarding methods: More On inheritance What you can do in subclass regarding methods: The inherited methods can be used directly as they are. You can write a new static method in the subclass that has the same signature

More information

Quick Introduction to PHP

Quick Introduction to PHP Quick Introduction to PHP Dr. Chris Bourke Department of Computer Science & Engineering University of Nebraska Lincoln Lincoln, NE 68588, USA Email: cbourke@cse.unl.edu 2016/01/22 11:49:31 Abstract These

More information

Argument Passing All primitive data types (int etc.) are passed by value and all reference types (arrays, strings, objects) are used through refs.

Argument Passing All primitive data types (int etc.) are passed by value and all reference types (arrays, strings, objects) are used through refs. Local Variable Initialization Unlike instance vars, local vars must be initialized before they can be used. Eg. void mymethod() { int foo = 42; int bar; bar = bar + 1; //compile error bar = 99; bar = bar

More information

step is to see how C++ implements type polymorphism, and this Exploration starts you on that journey.

step is to see how C++ implements type polymorphism, and this Exploration starts you on that journey. EXPLORATION 36 Virtual Functions Deriving classes is fun, but there s not a lot you can do with them at least, not yet. The next step is to see how C++ implements type polymorphism, and this Exploration

More information

CS/ENGRD 2110 FALL Lecture 5: Local vars; Inside-out rule; constructors

CS/ENGRD 2110 FALL Lecture 5: Local vars; Inside-out rule; constructors 1 CS/ENGRD 2110 FALL 2016 Lecture 5: Local vars; Inside-out rule; constructors http://courses.cs.cornell.edu/cs2110 References to text and JavaSummary.pptx 2 Local variable: variable declared in a method

More information

Lesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014

Lesson 10A OOP Fundamentals. By John B. Owen All rights reserved 2011, revised 2014 Lesson 10A OOP Fundamentals By John B. Owen All rights reserved 2011, revised 2014 Table of Contents Objectives Definition Pointers vs containers Object vs primitives Constructors Methods Object class

More information

Index. Business rules tier, 58, 61, 67, 84

Index. Business rules tier, 58, 61, 67, 84 Index A ABC Canine Shelter Reservation System application, 285 limitations dog_data.php, 286 dog_interface.php, 286 dog.php, 286 lab.php, 286 login.php, 286 register.php, 286 AjaxRequest method, 146 allalphabetic

More information

example: name1=jan name2=mike export name1 In this example, name1 is an environmental variable while name2 is a local variable.

example: name1=jan name2=mike export name1 In this example, name1 is an environmental variable while name2 is a local variable. Bourne Shell Programming Variables - creating and assigning variables Bourne shell use the set and unset to create and assign values to variables or typing the variable name, an equal sign and the value

More information

Remember our last lecture?

Remember our last lecture? Remember our last lecture? http://xkcd.com/327/ Encapsulation, Inheritance, Polymorphism Data members Methods Object Orientation PHP is an Object-Oriented programming language Fundamental feature of OO

More information

Table of Contents About this Document...8 Class JSTagURL...10 JSTagURL JSTagURL getclassname jsfunction_getfulltagurl jsfuncti

Table of Contents About this Document...8 Class JSTagURL...10 JSTagURL JSTagURL getclassname jsfunction_getfulltagurl jsfuncti Cisco Collaboration Server Dynamic Content Adapter Version 1 Parser API Specification Provides the specification for the Cisco Dynamic Content Adapter 1 parser API. Table of Contents About this Document...8

More information

Lecture 18 CSE11 Fall 2013 Inheritance

Lecture 18 CSE11 Fall 2013 Inheritance Lecture 18 CSE11 Fall 2013 Inheritance What is Inheritance? Inheritance allows a software developer to derive a new class from an existing one write code once, use many times (code reuse) Specialization

More information

Princeton University COS 333: Advanced Programming Techniques A Subset of PHP

Princeton University COS 333: Advanced Programming Techniques A Subset of PHP Princeton University COS 333: Advanced Programming Techniques A Subset of PHP Program Structure -----------------------------------------------------------------------------------

More information

Subclassing for ADTs Implementation

Subclassing for ADTs Implementation Object-Oriented Design Lecture 8 CS 3500 Fall 2009 (Pucella) Tuesday, Oct 6, 2009 Subclassing for ADTs Implementation An interesting use of subclassing is to implement some forms of ADTs more cleanly,

More information

CLASS DESIGN. Objectives MODULE 4

CLASS DESIGN. Objectives MODULE 4 MODULE 4 CLASS DESIGN Objectives > After completing this lesson, you should be able to do the following: Use access levels: private, protected, default, and public. Override methods Overload constructors

More information

PHP 5 and Databases. Marcus Börger Sterling Hughes. International PHP2003 conference

PHP 5 and Databases. Marcus Börger Sterling Hughes. International PHP2003 conference PHP 5 and Databases Marcus Börger Sterling Hughes International PHP2003 conference Marcus Börger PHP5 and Databases 2 Intro Review of PHP 4 Situation PHP 5 News PHP 5 Situation Marcus Börger PHP5 and Databases

More information

Semantic Analysis. Outline. The role of semantic analysis in a compiler. Scope. Types. Where we are. The Compiler so far

Semantic Analysis. Outline. The role of semantic analysis in a compiler. Scope. Types. Where we are. The Compiler so far Outline Semantic Analysis The role of semantic analysis in a compiler A laundry list of tasks Scope Static vs. Dynamic scoping Implementation: symbol tables Types Statically vs. Dynamically typed languages

More information

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology JavaScript: the language of browser interactions Claudia Hauff TI1506: Web and Database Technology ti1506-ewi@tudelft.nl Densest Web lecture of this course. Coding takes time. Be friendly with Codecademy

More information

Part 1: jquery & History of DOM Scripting

Part 1: jquery & History of DOM Scripting Karl Swedberg: Intro to JavaScript & jquery 0:00:00 0:05:00 0:05:01 0:10:15 0:10:16 0:12:36 0:12:37 0:13:32 0:13:32 0:14:16 0:14:17 0:15:42 0:15:43 0:16:59 0:17:00 0:17:58 Part 1: jquery & History of DOM

More information

9/21/2010. Based on Chapter 2 in Advanced Programming Using Visual Basic.NET by Bradley and Millspaugh

9/21/2010. Based on Chapter 2 in Advanced Programming Using Visual Basic.NET by Bradley and Millspaugh Building Multitier Programs with Classes Based on Chapter 2 in Advanced Programming Using Visual Basic.NET by Bradley and Millspaugh The Object-Oriented Oriented (OOP) Development Approach Large production

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 4(b): Inheritance & Polymorphism Lecture Contents What is Inheritance? Super-class & sub class The object class Using extends keyword

More information

9/17/2018 Programming Data Structures. Encapsulation and Inheritance

9/17/2018 Programming Data Structures. Encapsulation and Inheritance 9/17/2018 Programming Data Structures Encapsulation and Inheritance 1 Encapsulation private instance variables Exercise: 1. Create a new project in your IDE 2. Download: Employee.java, HourlyEmployee.java

More information

Numbers Implicit This Static Methods and Fields Packages Access Modifiers Main Overloading Exceptions Etc.

Numbers Implicit This Static Methods and Fields Packages Access Modifiers Main Overloading Exceptions Etc. Numbers Implicit This Static Methods and Fields Packages Access Modifiers Main Overloading Exceptions Etc. 1 Integers Java s number system: byte an integer between -128 and 127 short an integer between

More information

The role of semantic analysis in a compiler

The role of semantic analysis in a compiler Semantic Analysis Outline The role of semantic analysis in a compiler A laundry list of tasks Scope Static vs. Dynamic scoping Implementation: symbol tables Types Static analyses that detect type errors

More information

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 P a g e 1 CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 Q1 Describe some Characteristics/Advantages of Java Language? (P#12, 13, 14) 1. Java

More information

General Coding Standards

General Coding Standards Rick Cox rick@rescomp.berkeley.edu A description of general standards for all code generated by ResComp employees (including non-programmers), intended to make maintaince, reuse, upgrades, and trainig

More information

Binghamton University. CS-140 Fall Chapter 9. Inheritance

Binghamton University. CS-140 Fall Chapter 9. Inheritance Chapter 9 Inheritance 1 Shapes Created class Point for (x,y) points Created classes: Rectangle, Circle, RightTriangle All have llc field All have dimensions, but different for each shape All have identical

More information

Object-Oriented Programming Concepts

Object-Oriented Programming Concepts Object-Oriented Programming Concepts Real world objects include things like your car, TV etc. These objects share two characteristics: they all have state and they all have behavior. Software objects are

More information

CS260 Intro to Java & Android 03.Java Language Basics

CS260 Intro to Java & Android 03.Java Language Basics 03.Java Language Basics http://www.tutorialspoint.com/java/index.htm CS260 - Intro to Java & Android 1 What is the distinction between fields and variables? Java has the following kinds of variables: Instance

More information

CGS 3066: Spring 2015 JavaScript Reference

CGS 3066: Spring 2015 JavaScript Reference CGS 3066: Spring 2015 JavaScript Reference Can also be used as a study guide. Only covers topics discussed in class. 1 Introduction JavaScript is a scripting language produced by Netscape for use within

More information

Software Development & Education Center PHP 5

Software Development & Education Center PHP 5 Software Development & Education Center PHP 5 (CORE) Detailed Curriculum Core PHP Introduction Classes & Objects Object based & Object Oriented Programming Three Tier Architecture HTML & significance of

More information

Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7

Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 Computer Science 2 Lecture 4 Inheritance: Trinidad Fruit Stand 02/15/2014 Revision : 1.7 1 Problem Ralph owns the Trinidad Fruit Stand that sells its fruit on the street, and he wants to use a computer

More information

CMSC 132: Object-Oriented Programming II

CMSC 132: Object-Oriented Programming II CMSC 132: Object-Oriented Programming II Java Support for OOP Department of Computer Science University of Maryland, College Park Object Oriented Programming (OOP) OO Principles Abstraction Encapsulation

More information

PHP. Main object oriented features (from php5 power programming)

PHP. Main object oriented features (from php5 power programming) PHP Main object oriented features (from php5 power programming) OO Model A OOP is a collection of objects An object has properties State (private data) An object has methods Every object is an instance

More information

Java Magistère BFA

Java Magistère BFA Java 101 - Magistère BFA Lesson 3: Object Oriented Programming in Java Stéphane Airiau Université Paris-Dauphine Lesson 3: Object Oriented Programming in Java (Stéphane Airiau) Java 1 Goal : Thou Shalt

More information

Java Object Oriented Design. CSC207 Fall 2014

Java Object Oriented Design. CSC207 Fall 2014 Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code

More information

Review sheet for Final Exam (List of objectives for this course)

Review sheet for Final Exam (List of objectives for this course) Review sheet for Final Exam (List of objectives for this course) Please be sure to see other review sheets for this semester Please be sure to review tests from this semester Week 1 Introduction Chapter

More information

Optimizing LAMP Development with PHP5

Optimizing LAMP Development with PHP5 Optimizing LAMP Development with PHP5 Wednesday, November 9, 2005 Jamil Hassan Spain NCSSM Database Administrator March 12, 2005 Presentation Agenda Simple Upgrade Method to PHP5 Enterprise LAMP Development

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss Chapter 1 terminology (parenthesized numbers are page numbers) Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement

More information

COMS 3101 Programming Languages: Perl. Lecture 5

COMS 3101 Programming Languages: Perl. Lecture 5 COMS 3101 Programming Languages: Perl Lecture 5 Fall 2013 Instructor: Ilia Vovsha http://www.cs.columbia.edu/~vovsha/coms3101/perl Lecture Outline Packages & Modules Concepts: Subroutine references Symbolic

More information

Perl (5 Days Content)

Perl (5 Days Content) Perl (5 Days Content) Pre-requisites: Knowledge of any programming language ( C / C++ / Shell Scripting) Objective of the Course: The participants should be in a position to understand Perl Scripts written

More information

Zend Framework 2 Patterns

Zend Framework 2 Patterns Zend Framework 2 Patterns Matthew Weier O'Phinney Project Lead, Zend Framework Roadmap for today Namespaces and Autoloading Exceptions Configuration Plugin systems Dispatching Inversion of Control Format

More information