oops concepts in php

44
OOPS OOPS -Concepts in -Concepts in PHP PHP Call US : 011-65164822 Add:- Block C 9/8, Sector-7, Rohini, Delhi -110085, India www.cpd-india.com www.blog.cpd-india.com CPD TECHNOLOGIES CPD TECHNOLOGIES

Upload: cpdindia2

Post on 17-Jul-2015

323 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Oops concepts in php

OOPS OOPS

-Concepts in -Concepts in

PHPPHP

Call US : 011-65164822

Add:- Block C 9/8, Sector-7, Rohini, Delhi -110085, India

www.cpd-india.com www.blog.cpd-india.com

CPD TECHNOLOGIESCPD TECHNOLOGIES

Page 2: Oops concepts in php
Page 3: Oops concepts in php

Topics to be covered

What is OOPSClass & ObjectsModifierConstructor DeconstructorClass ConstantsInheritance In PhpMagic FunctionPolymorphism

InterfacesAbstract ClassesStatic Methods And PropertiesAccessor MethodsDetermining A Object's Class

Page 4: Oops concepts in php

What Is Oop ?

Object Oriented Programming (OOP) is the programming method that involves the use of the data , structure and organize classes of an application. The data structure becomes an objects that includes both functions and data. A relationship between one object and other object is created by the programmer

www.cpd-india.com

Page 5: Oops concepts in php

Classes

A class is a programmer defined datatype which include local fuctions as well as local data.Like a pattern or a blueprint a oops class has exact specifications. The specification is the class' s contract.

Page 6: Oops concepts in php

An object is a like a container that contains methods and properties which are require to make a certain data types useful. An object’s methods are what it can do and its properties are what it knows.

Object

Page 7: Oops concepts in php

Modifier

Page 8: Oops concepts in php

Modifier

In object oriented programming, some Keywords are private and some are public in class. These keyword are known as modifier. These keywords help you to define how these variables and properties will be accessed by the user of this class.

www.cpd-india.com

Page 9: Oops concepts in php

Modifier

Private: Properties or methods declared as private are not allowed to be called from outside the class. However any method inside the same class can access them without a problem. In our Emailer class we have all these properties declared as private, so if we execute the following code we will find an error.

www.cpd-india.com

Page 10: Oops concepts in php

Modifier

<?include_once("class.emailer.php");$emobject = new Emailer("[email protected]");$emobject->subject = "Hello world";?>

The above code upon execution gives a fatal error as shown below:

<b>Faprivate property emailer::$subject in <b>C:\OOP with PHP5\Codes\ch1\class.emailer.php</b> on line <b>43</><br />tal error</b>: Cannot access That means you can't access

www.cpd-india.com

Page 11: Oops concepts in php

Modifier

Public: Any property or method which is not explicitly declared as private or protected is a public method. You can access a public method from inside or outside the class. Protected: This is another modifier which has a special meaning in OOP. If any property or method is declared as protected, you can only access the method from its subclass. To see how a protected method or property actually works, we'll use the following example:

Page 12: Oops concepts in php

Modifier

To start, let's open class.emailer.php file (the Emailer class) and change the declaration of the $sender variable. Make it as follows:

protected $sender

Now create another file name class.extendedemailer.php with the following code:

www.cpd-india.com

Page 13: Oops concepts in php

Modifier

<?class ExtendedEmailer extends emailer {function __construct(){} public function setSender($sender) { $this->sender = $sender; }}?>

www.cpd-india.com

Page 14: Oops concepts in php

Constructor & Destructor

Constructor is Acclimated to Initialize the Object.Arguments can be taken by constructor.A class name has same name as Constructor.Memory allocation is done by Constructor.www.cpd-india.com

Page 15: Oops concepts in php

Constructor & Destructor

The objects that are created in memory, are destroyed by the destructor.Arguments can be taken by the destructor.Overloading is possible in destructor.It has same name as class name with tiled operator.

Page 16: Oops concepts in php

ClassContants

Page 17: Oops concepts in php

Class Constants

You can make constants in your PHP scripts utilizing the predefine keyword to define (constant name, constant value). At the same time to make constants in the class you need to utilize the const keyword. These constants really work like static variables, the main distinction is that they are read-only.

www.cpd-india.com

Page 18: Oops concepts in php

Class Constants

<?class WordCounter{ const ASC=1; //you need not use $ sign before Constants const DESC=2; private $words; function __construct($filename) { $file_content = file_get_contents($filename); $this->words = (array_count_values(str_word_count(strtolower ($file_content),1)));

www.cpd-india.com

Page 19: Oops concepts in php

Class Constants

} public function count($order) { if ($order==self::ASC) asort($this->words); else if($order==self::DESC) arsort($this->words);

foreach ($this->words as $key=>$val) echo $key ." = ". $val."<br/>"; }}?>

www.cpd-india.com

Page 20: Oops concepts in php

Inheritance

Page 21: Oops concepts in php

Inheritance In Php

Inheritance is a well-known programming rule, and PHP makes utilization of this standard in its object model. This standard will influence the way numerous objects and classes identify with each other. For illustration, when you extend a class, the subclass inherits each public and protected method from the guardian class. Unless a class overrides those techniques, they will hold their unique functionality

www.cpd-india.com

Page 22: Oops concepts in php

Inheritance

Page 23: Oops concepts in php

Magic Functions

Page 24: Oops concepts in php

Magic Functions

There are some predefine function names which you can’t use in your programme unless you have magic functionality relate with them. These functions are known as Magic Functions. Magic functions have special names which begine with two underscores.

www.cpd-india.com

Page 25: Oops concepts in php

Magic Functions

_ _construct()_ _deconstruct()_ _call()_ _callStatic()_ _get()_ _set()_ _isset()_ _unset()

__sleep()__wakeup()__tostring()__invoke()__ set_state()__ clone()__ debugInfo()

www.cpd-india.com

Page 26: Oops concepts in php

Magic Functions

_ _construct() Construct function is called when object is

instantiated. Generally it is used in php 5 for creating constructor

_ _deconstruct()It is the opposite of construct function. When object of a class is unset, this function is called.

www.cpd-india.com

Page 27: Oops concepts in php

Magic Functions

_ _call()When a class in a function is try to call an accessible or inaccessible function , this method is called.

_ _callStatic()It is similar to __callStatic() with only one difference that is its triggered when you try to call an accessible or inaccessible function in static context.

www.cpd-india.com

Page 28: Oops concepts in php

Magic Functions

_ _get()This function is triggered when your object try call a variable of a class which is either unavailable or inaccessible.

_ _set()This function is called when we try to change to value of a property which is unavailable or inaccessible.

www.cpd-india.com

Page 29: Oops concepts in php

Polymorphism

www.cpd-india.com

Page 30: Oops concepts in php

Polymorphism

The ability of a object, variable or function to appear in many form is known as polymorphism. It allows a developer to programme in general rather than programme in specific. There are two types of polymorphism.

compile time polymorphismrun-time polymorphism".

www.cpd-india.com

Page 31: Oops concepts in php

Interfaces

Page 32: Oops concepts in php

Interfaces

There are some specific set of variable and functions which can be called outside a class itself. These are known as interfaces. Interfaces are declared using interface keyword.

<?//interface.dbdriver.phpinterface DBDriver{ public function connect(); public function execute($sql);}?>

www.cpd-india.com

Page 33: Oops concepts in php

Abstract ClassesAbstract Classes

Page 34: Oops concepts in php

Abstract Classes

A class which is declared using abstract keyword is known as abstract class. An abstract class is not implemented just declared only (followed by semicolon without braces)

<?//abstract.reportgenerator.phpabstract class ReportGenerator{ public function generateReport($resultArray) { //write code to process the multidimensional result array and //generate HTML Report }}? www.cpd-india.com

Page 35: Oops concepts in php

Static Method And Static Method And PropertiesProperties

Page 36: Oops concepts in php

Static Methods & Properties

In object oriented programming, static keyword is very crucial. Static properties and method acts as a significant element in design pattern and application design. To access any method or attribute in a class you must create an instance (i.e. using new keyword, like $object = new emailer()), otherwise you can't access them. But there is a difference for static methods and properties. You can access a static method or property directly without creating any instance of that class. A static member is like a global member for that class and all instances of that class

Page 37: Oops concepts in php

Static Methods & Properties

<?//class.dbmanager.phpclass DBManager{ public static function getMySQLDriver() { //instantiate a new MySQL Driver object and return } public static function getPostgreSQLDriver()

www.cpd-india.com

Page 38: Oops concepts in php

Static Methods & Properties

{ //instantiate a new PostgreSQL Driver object and

return } public static function getSQLiteDriver() { //instantiate a new MySQL Driver object and return }}?>

www.cpd-india.com

Page 39: Oops concepts in php

Accessor Accessor MethodMethod

Page 40: Oops concepts in php

Accessor Method

Accessor methods are simply methods that are solely devoted to get and set the value of any class properties. It's a good practice to access class properties using accessor methods instead of directly setting or getting their value. Though accessor methods are the same as other methods, there are some conventions writing them. There are two types of accessor methods. One is called getter, whose purpose is returning value of any class property. The other is setter that sets a value into a class property. www.cpd-india.com

Page 41: Oops concepts in php

Accessor Method

<?class Student{private $name;private $roll;More free ebooks : http://fast-file.blogspot.comChapter 2[ 39 ]public function setName($name){$this->name= $name;}

www.cpd-india.com

Page 42: Oops concepts in php

Accessor Method

public function setRoll($roll){$this->roll =$roll;}public function getName(){return $this->name;}public function getRoll(){return $this->roll;}}?>

www.cpd-india.com

Page 43: Oops concepts in php

Determining A Object's Class

public function setRoll($roll){$this->roll =$roll;}public function getName(){return $this->name;}public function getRoll(){return $this->roll;}}?>

www.cpd-india.com

Page 44: Oops concepts in php

CPD TECHNOLOGIESBlock C 9/8, Sector-7, Rohini, Delhi -110085

[email protected]