Objects are real-world entities. Objects are defined from classes in Object-Oriented Programming like PHP. When a class is defined, we can create many objects out of the class. Example Class Car is defined, then Mercedes, BMW, Skoda are all objects of the Class Car. A class is a blueprint of an object. A class contains variables and functions. These data variables are called properties and data functions are called data methods.
ADVERTISEMENT Popular Course in this category PHP DEVELOPER - Specialization | 8 Course Series | 3 Mock TestsStart Your Free Software Development Course
Web development, programming languages, Software testing & others
The definition of an object goes like this, An object is an instance of a class. We can create an instance of the class by using the new keyword. We can create multiple instances of the class. These instances can now access the class functions, the class members.
Creating an object is the same as instantiating a class. This instance is created using the new keyword. This process is called instantiation. Since objects are instances of a class and can be created using a new keyword let us take a look at how these instances are created.
Syntax:
objectname = new Classname();
Examples:
$parrot = new Bird(); $pigeon = new Bird(); $woodpecker = new Bird();
Above are three different objects of the class Bird. Using these objects we can access the properties and functions of the class Bird.
What is a new keyword?
When we instantiate a class, we are actually creating an object of the class. To create object it is essential to use a new keyword. While using a constructor in a class, the constructor is called automatically when the object is initialized using the new keyword.
Properties are variables that are defined within a class. These variables are then used by the methods, objects of the class. These variables can be public, protected or private. By default, the public is used. The value of a variable may or may not contain a default value, meaning that the variable may be initialized with a value or not.
The variable names are case sensitive, meaning that $name is different from $Name. There is a naming convention like if the variable contains more than one word than the second word will start with a capital letter like $firstName, $lastName and so on.
Let us look at the below program to understand the properties.
class Birds { public $birdsFly = 'sky'; public $birdsSound = 'vocal'; public $birdsBuildNests = 'trees'; }
The following program explains how to declare a class Bird and its properties like a bird flies make sound and build a nest and a method on what a bird does.
Code:
<?php //example to access properties of a class class Birds { // properties public $birdsFly = 'sky'; public $birdsSound = 'vocal'; public $birdsBuildNests = 'trees'; //methods public function birdDoes() { echo 'Bird'; } } //object of class is declared $obj = new Birds(); //properties of class Bird are accessed using object echo '<br> Bird Flies = '.$obj->birdsFly; echo '<br> Bird Makes Sound = '.$obj->birdsSound; echo '<br> Bird Build Nests = '.$obj->birdsBuildNests; ?>
Output:
As the properties of a class, we can define member functions in a class. These functions can then be called from an object. These functions are called as methods of a class. These functions can be public, private or protected. By default is public. Also while declaring the function we declare it as
Syntax:
public function functionaname() { //statements }
Example:
class Bird { public function makesSound() { // statements } public function looksForFood() { // statements } } $obj = new Bird; echo $bird->makesSound(); echo $bird->looksForFood();
Code:
<?php //example to access methods of a class class Birds { // properties public $birdsFly; public $birdsBuildNests; //method 1 - set Method1 public function set_birdFlies($input) { $this->birdsFly = $input ; } //method 1 - get Method1 public function get_birdFlies() { return $this->birdsFly; } //method 2 - set Method2 public function set_BirdBuildsNest($input) { $this->birdsBuildNests = $input ; } //method 2 - get Method2 public function get_BirdBuildsNest() { return $this->birdsBuildNests; } } //object of class is declared $obj = new Birds(); $obj->set_birdFlies('Fly'); echo '<br> Bird Flies = '.$obj->get_birdFlies(); $obj->set_BirdBuildsNest('Trees'); echo '<br> Bird Builds Nest = '.$obj->get_BirdBuildsNest();?>
Output:
A constructor is a special method. When a new object is created this method is invoked automatically. There is no need for calling the method explicitly from an object.
Syntax:
__construct();// double underscores are used.
Suppose there are two classes one base class and the other is derived class. If the derived class do not have its own constructor and wants to inherit the base class constructor we need to declare it in the following syntax:
Syntax:
parent::__construct();
Code:
<?php //example to use constructor in a class class Birds { // properties public $makesSound; // the constructor is called when object is created public function __construct($input) { $this->makesSound = $input; echo 'Bird makes Sound: '.$this->makesSound; } } //object of class is declared $obj = new Birds('Vocal'); ?>
Output:
In the below program we will see that how objects call the base class constructor is internally by creating an object. Since inheritance is used we can use parent:: __construct() to call the base class constructor.
Code:
<?php //example to use constructor and object of a class class Birds { // properties public $bird_flies='sky'; // the constructor is called when object is created public function __construct() { echo 'In the Base Class Constructor'; } } class EagleBird extends Birds { function __construct() { parent::__construct(); } public function BirdDoes() { return $this->bird_flies; } } //object of class is declared $obj = new EagleBird(); echo '<br> Method : ' .$obj->BirdDoes(); ?>
Output:
This article explains what is an object in object-oriented programming, how to create an object, its syntax, how to use an object in a given program. Also, how to declare and use properties and methods of an object in PHP, how to use constructors in PHP. This article has programs that could be helpful to solve your queries and understand the concept well.
The above is the detailed content of Object in PHP. For more information, please follow other related articles on the PHP Chinese website!