Pemrograman Web Object Oriented Programming in PHP 5.

Slides:



Advertisements
Similar presentations
PHP functions What are Functions? A function structure:
Advertisements

Final and Abstract Classes
OO Programming in Java Objectives for today: Overriding the toString() method Polymorphism & Dynamic Binding Interfaces Packages and Class Path.
OOP Abstraction Classes Class Members: Properties & Methods Instance (object) Encapsulation Interfaces Inheritance Composition Polymorphism Using Inheritance.
Python Objects and Classes
Object Oriented Programming in PHP 5
1 Chapter 6: Extending classes and Inheritance. 2 Basics of Inheritance One of the basic objectives of Inheritance is code reuse If you want to extend.
Georgia Institute of Technology Workshop for CS-AP Teachers Chapter 3 Advanced Object-Oriented Concepts.
Object-Oriented PHP (1)
Inheritance. In this chapter, we will cover: The concept of inheritance Extending classes Overriding superclass methods Working with superclasses that.
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
June 1, 2000 Object Oriented Programming in Java (95-707) Java Language Basics 1 Lecture 3 Object Oriented Programming in Java Language Basics Classes,
Object-oriented Programming Concepts
ASP.NET Programming with C# and SQL Server First Edition
8.1 Classes & Inheritance Inheritance Objects are created to model ‘things’ Sometimes, ‘things’ may be different, but still have many attributes.
OOP in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
PHP Workshop ‹#› PHP Classes and Object Orientation.
UFCEUS-20-2 : Web Programming Lecture 5 : Object Oriented PHP (1)
CSE 425: Object-Oriented Programming II Implementation of OO Languages Efficient use of instructions and program storage –E.g., a C++ object is stored.
Chapter 8 More Object Concepts
Module 7: Object-Oriented Programming in Visual Basic .NET
Programming Pillars Introduction to Object- Oriented Programming.
Chapter 6 Object-Oriented Java Script JavaScript, Third Edition.
ClassesPHPMay-2007 : [‹#›] PHP Classes and Object Orientation.
OOP IN PHP `Object Oriented Programming in any language is the use of objects to represent functional parts of an application and real life entities. For.
1 SystemVerilog Enhancement Requests Daniel Schostak Principal Engineer February 26 th 2010.
1 Chapter 8 – Classes and Object: A Deeper Look Outline 1 Introduction 2 Implementing a Time Abstract Data Type with a Class 3 Class Scope 4 Controlling.
Inheritance Chapter 10 Programs built from objects/instances of classes An O.O. approach – build on earlier work. Use classes in library and ones you have.
2010/11 : [1]Building Web Applications using MySQL and PHP (W1)OO PHP PHP Classes and Object Orientation.
CIS162AD Inheritance Part 3 09_inheritance.ppt. CIS162AD2 Overview of Topics  Inheritance  Virtual Methods used for Overriding  Abstract Classes and.
Programming with Java © 2002 The McGraw-Hill Companies, Inc. All rights reserved. 1 McGraw-Hill/Irwin Chapter 5 Creating Classes.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 26 - Java Object-Based Programming Outline 26.1Introduction.
Introduction to Java Chapter 7 - Classes & Object-oriented Programming1 Chapter 7 Classes and Object-Oriented Programming.
Object-Oriented Programming. Objectives Distinguish between object-oriented and procedure-oriented design. Define the terms class and object. Distinguish.
Programming With Java ICS201 University Of Ha’il1 Chapter 7 Inheritance.
Chapter 12 Object-oriented design for more than one class.
CS-1030 Dr. Mark L. Hornick 1 Basic C++ State the difference between a function/class declaration and a function/class definition. Explain the purpose.
C++ Inheritance Data Structures & OO Development I 1 Computer Science Dept Va Tech June 2007 © McQuain Generalization versus Abstraction Abstraction:simplify.
Java Software Solutions Lewis and Loftus Chapter 9 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Enhanced Class Design -- Introduction.
CITA 342 Section 1 Object Oriented Programming (OOP)
Inheritance Inheritance is the process of extending the functionality of a class by defining a new class that inherit,all the features of extending class.
Access Specifier. Anything declared public can be accessed from anywhere. Anything declared private cannot be seen outside of its class. When a member.
Basic Concepts of OOP.  Object-Oriented Programming (OOP) is a type of programming added to php5 that makes building complex, modular and reusable web.
Classes in PHP Web Engineering. What is Class? A class is a collection of variables and functions working with these variables. Variables are defined.
21. PHP Classes To define a class, use the keyword class followed by the name and a block with the properties and method definitions Properties are declared.
Learning OOP in PHP. What is OOP? OOP stands for Object Oriented Programming. OOP is a programming paradigm wherein you create “objects” to work with.
1 C# - Inheritance and Polymorphism. 2 1.Inheritance 2.Implementing Inheritance in C# 3.Constructor calls in Inheritance 4.Protected Access Modifier 5.The.
POLYMORPHISM Chapter 6. Chapter Polymorphism  Polymorphism concept  Abstract classes and methods  Method overriding  Concrete sub classes and.
5.1 Basics of defining and using classes A review of class and object definitions A class is a template or blueprint for an object A class defines.
COP INTERMEDIATE JAVA Inheritance, Polymorphism, Interfaces.
Lecture 12 Inheritance.
Programming with ANSI C ++
Final and Abstract Classes
Chapter 11 Developing Object-Oriented PHP PHP Programming with MySQL Revised by A. Philipp – Spring 2010 (Rev SP’11)
Nested class.
Understanding Inheritance
Web Systems Development (CSC-215)
The super Reference Constructors cannot be used in child classes, even though they have public visibility Yet we often want to use the parent's constructor.
PHP Classes and Object Orientation
Interface.
IS437: Fall 2004 Instructor: Dr. Boris Jukic
Interfaces.
Java – Inheritance.
Java Programming, Second Edition
Object-Oriented Programming in PHP
Object-Oriented Programming: Inheritance
Inheritance.
Object-Oriented PHP (1)
Final and Abstract Classes
Classes and Objects Imran Rashid CTO at ManiWeber Technologies.
Presentation transcript:

Pemrograman Web Object Oriented Programming in PHP 5

What is a function?  Conceptually, what does a function represent? …give the function something (arguments), it does something with them, and then returns a result… Action or Method

What is a class?  Conceptually, a class represents an object, with associated methods and variables

Class Definition Example <?php // filename: manusia.class.php class manusia { public $nama; public function menyapa() { echo 'Halo!'; } } ?>

Class Defintion  Similar to defining a function..  The definition does not do anything by itself. It is a blueprint, or description, of an object. To do something, you need to use the class…

Class Usage <?php require('manusia.class.php'); $susan = new manusia; $susan->nama = 'Susan'; echo $susan->nama. ' jika menyapa, berkata: '. $susan->menyapa(); ?>

Using attributes within the class..  If you need to use the class variables within any class actions/methods, use the special variable $this in the definition: class manusia { public $nama; public function menyapa() { echo $this->nama. ' bilang Halo!'; } } $susan = new manusia; $susan->nama = 'Susan'; $susan->menyapa();

Constructor methods  A constructor method is a function that is automatically executed when the class is first instantiated.  Create a constructor by including a function within the class definition with the __construct name.  Remember.. if the constructor requires arguments, they must be passed when it is instantiated!

Constructor Example <?php class manusia { public $nama; public function __construct($nama) { $this->nama = $nama; } public function menyapa() { echo $this->nama. ' bilang Halo!'; } } ?>

Constructor Example <?php … $susan = new manusia('Susan'); $susan->menyapa(); … ?> Output: Susan bilang Halo!

Class Scope  Like functions, each instantiated object has its own local scope. <?php $mahasiswi = new manusia('Susan'); $mahasiswa = new manusia('Adi'); echo $mahasiswa->nama; // Adi $mahasiswa->nama = "Budi"; echo $mahasiswi->nama; // Susan; ?>

Inheritance  The real power of using classes is the property of inheritance – creating a hierarchy of interlinked classes. manusia mahasiswadosen parent children

Inheritance  The child classes 'inherit' all the methods and variables of the parent class, and can add extra ones of their own.  e.g. the child classes mahasiswa inherits the variable nama and method menyapa from the manusia class, and can add extra ones…

Inheritance example <?php class mahasiswa extends manusia { public function __construct($nama){ $this->nama = $nama; } public $tugas = 'belajar'; } $susan = new mahasiswa('Susan'); echo $susan->menyapa(). ' ketika sedang '. $susan->tugas; Output: Susan bilang Halo! ketika sedang belajar

Method Override  Mahasiswa selalu berkata 'Hei!' ketika menyapa. <?php class mahasiswa extends manusia { … public function menyapa(){ echo $this->nama. ' bilang Hei!'; } $susan = new mahasiswa('Susan'); echo $susan->menyapa(); Output: Susan bilang Hei! ketika sedang belajar

Child Constructors?  If the child class possesses a constructor function, it is executed and any parent constructor is ignored.  If the child class does not have a constructor, the parent's constructor is executed.  If the child and parent does not have a constructor, the grandparent constructor is attempted…  … etc.

Class Visibility  Visibility  The visibility of a property or method can be defined by prefixing the declaration with the keywords public, protected or private. Class members declared public can be accessed everywhere. Members declared protected can be accessed only within the class itself and by inherited and parent classes. Members declared as private may only be accessed by the class that defines the member.  Property Visibility  Class properties must be defined as public, private, or protected. If declared using var, the property will be defined as public.

Visibility Example class MyClass { public $public = 'Public'; protected $protected = 'Protected'; private $private = 'Private'; function printHello() { echo $this->public; echo $this->protected; echo $this->private; } $obj = new MyClass(); echo $obj->public; // Works echo $obj->protected; // Fatal Error echo $obj->private; // Fatal Error $obj->printHello(); // Shows Public, Protected and Private class MyClass2 extends MyClass { protected $protected = 'Protected2'; function printHello() { echo $this->public; echo $this->protected; echo $this->private; } $obj2 = new MyClass2(); echo $obj2->public; // Works echo $obj2->private; // Undefined echo $obj2->protected; // Fatal Error // Shows Public, Protected2, Undefined $obj2->printHello();

Objects within Objects  It is perfectly possible to include objects within another object <?php class pakaian { public $warna = 'merah'; } class manusia { public $nama; public $baju; public function __construct( $nama ) { $this->nama = $nama; }

Objects within objects example <?php $susan = new manusia('Susan'); $susan->baju = new pakaian; echo $susan->nama. ' memakai baju warna '. $susan->baju->warna; ?> Output: Susan memakai baju warna merah

Encapsulation  Encapsulation is a way of storing an object or data as a property within another object, so that the outer object has full control over what how the internal data or object can be accessed.  This, in combination with making the inner object/property private, enables information hiding.information hiding.

Encapsulation Example <?php class pakaian { public $warna = 'merah'; } class manusia { private $baju; public function __construct() { $this->baju = new pakaian; $this->baju->warna = 'biru'; } public function warnaBaju() { return $this->baju->warna; } $susan = new manusia(); echo 'Susan memakai baju berwarna '. $susan->warnaBaju(); Output: Susan memakai baju berwarna biru

Abstract Class  It's a kind "father" that must be inherited to be used. Classes that inherit differ from them only in the abstract methods and can access the methods of the parent class using the keyword parent.  Features:  can not be instantiated  methods can be abstract (not implemented)  methods may be not abstract (implemented)  a class can inherit from a single abstract class

Abstract Class abstract class Binatang { abstract protected function bicara(); // Common method (shared) public function garukGaruk() { echo "garuk garuk…"; }

Extending Abstract Class class Kucing extends Binatang { public function bicara() { echo "Meong…" } $anggora = new Binatang; // E $anggora = new Kucing; $anggora->bicara(); // meong… $anggora->garukGaruk(); // garuk garuk… class Anjing extends Binatang { public function bicara() { echo "Guk…" } $herder = new Binatang; // E $herder = new Anjing; $herder->bicara(); // Guk… $herder->garukGaruk(); // garuk garuk…

Interface  The clearest definition is that an interface is a contract.  Features:  All classes that implement an interface must develop all the methods that have been defined  The class implementing the interface must use the exact same method signatures as are defined in the interface. Not doing so will result in a fatal error  All methods declared in an interface must be public, this is the nature of an interface  A class can implement more than one interface  An interface can be used by the Type HintingType Hinting

Polymorphism  Polymorphism is the ability (in programming) to present the same interface for differing underlying forms (data types).

Polymorphism Example <?php interface binatang { public function bicara(); } class kucing implements binatang { public function bicara() { echo "Meong…"; } class anjing implements binatang { public function bicara() { echo "Guk… Guk…"; }

Polymorphism Example <?php $hewan = new kucing; $hewan->bicara(); // Meong... $hewan = new anjing; $hewan->bicara(); // Guk... Guk... ?>

Latihan  Buatlah sebuah interface kendaraan yang memiliki: method:  bukaPintu();  jumlahRoda();  Buatlah kelas mobil dan bus yang mengimplementasikan interface kendaraan tersebut.  Mobil dan bus memiliki atribut $roda dan $pintu;  Nilai atribut $roda mobil = 4; bus = 6;  Nilai atribut $pintu mobil = 5; bus = 3;  Perlihatkan polymorphism pada kelas mobil dan bus tersebut di atas untuk method bukaPintu() dan jumlahRoda()!

Final Keyword  PHP introduces "Final" keyword to prevent sub-class method overriding.  "Final" keyword can be implemented on properties, methods and classes  Final class means it cannot be inherited

Deleting objects  So far our objects have not been destroyed till the end of our scripts..  Like variables, it is possible to explicitly destroy an object using the unset() function.

A copy, or not a copy..  Entire objects can be passed as arguments to functions, and can use all methods/variables within the function.  Remember however.. like functions the object is COPIED when passed as an argument unless you specify the argument as a reference variable &$variable