Class − This is a programmer-defined data type, which includes local functions as well as local data. You can think of a class as a template for making many instances of the same kind (or class) of objects.

  • The special form class, followed by the name of the class that you want to define.
  • A set of braces enclosing any number of variable declarations and function definitions.
  • Variable declarations start with the special form var, which is followed by a conventional $ variable name; they may also have an initial assignment to a constant value.
  • Function definitions look much like standalone PHP functions but are local to the class and will be used to set and access object data.

Example

Here is an example which defines a class of Books type −

<?php

   class Books {

      /* Member variables */

      var $price;

      var $title;

      /* Member functions */

      function setPrice($par){

         $this->price = $par;

      }      

      function getPrice(){

         echo $this->price .”<br/>”;

      }      

      function setTitle($par){

         $this->title = $par;

      }

      function getTitle(){

         echo $this->title .” <br/>”;

      }

   }

?>

Object − 

An individual instance of the data structure defined by a class. You define a class once and then make many objects that belong to it. Objects are also known as instances.

Once you define your class, then you can create as many objects as you like of that class type. Following is an example of how to create an object using a new operator.

$physics = new Books;

$maths = new Books;

$chemistry = new Books;

#Object Oriented PHP

  • Class − This is a programmer-defined data type, which includes local functions as well as local data. You can think of a class as a template for making many instances of the same kind (or class) of objects.
  • Object − An individual instance of the data structure defined by a class. You define a class once and then make many objects that belong to it. Objects are also known as instances.
  • Member Variable − These are the variables defined inside a class. This data will be invisible to the outside of the class and can be accessed via member functions. These variables are called attributes of the object once an object is created.
  • Member function − These are the functions defined inside a class and are used to access object data.
  • Inheritance − When a class is defined by inheriting the existing function of a parent class then it is called inheritance. Here a child class will inherit all or few member functions and variables of a parent class.
  • Parent class − A class that is inherited from another class. This is also called a base class or super class.
  • Child Class − A class that inherits from another class. This is also called a subclass or derived class.
  • Polymorphism − This is an object oriented concept where the same function can be used for different purposes. For example, the function name will remain the same but it takes a different number of arguments and can do different tasks.
  • Overloading − a type of polymorphism in which some or all of operators have different implementations depending on the types of their arguments. Similarly functions can also be overloaded with different implementations.
  • Data Abstraction − Any representation of data in which the implementation details are hidden (abstracted).
  • Encapsulation − refers to a concept where we encapsulate all the data and member functions together to form an object.
  • Constructor − refers to a special type of function which will be called automatically whenever there is an object formation from a class.
  • Destructor − refers to a special type of function which will be called automatically whenever an object is deleted or goes out of scope.