Object Oriented Programming is a programming concept where real-world items are given abstract groupings called a class. Subgroups known as subclasses can be made from the larger groups as well.
Classes have basic descriptive variables and methods for each item, what does, and how it is created. These distinct items are known as objects, which may have characteristics derived from the class as well as others that are unique to it.
For example, consider a class called “footwear”. This class has subclasses, and it is made up of members which are similar in many ways. Some subclasses of footwear may be:
These subclasses can have specific items with the same characteristics and properties. Some of these objects in the shoe subclass may be loafers, sneakers, or oxford shoes.
The basic description given in the diagram above is used every day by developers to write object-oriented code, where there is a logical thought process that consists of:
Consider mysqli
classes in PHP. These have functions like query
, connect
, and num_rows
, as well as properties like database names, host names, passwords, and user information.
Objects which are unique use cases of these classes can be new database connections from the mysqli
class. These new objects can access all methods and properties of this class.
mysqli
objectTo create a new object in PHP, you must use the new
keyword.
$objectName = new className();
In the code below, a new mysqli
object was created. This new object now has access to the class methods using the arrow ->
symbol.
<?php$dbconn = new mysqli("localhost", "root", "","mydb");//i can access methods in mysqli class like belowif($dbconn -> connect_error){// do something}?>
In the next code block, I created my own custom class with some properties and methods. Then I used the new
command to create some instances of class objects. With the help of the arrow ->
symbol, these objects can make use of the methods available in the house
class.
<?phpclass house {// Propertiespublic $name;public $size;// Methodsfunction set_name($name) {$this->name = $name;}function get_name() {return $this->name;}}$condo = new house();$duplex = new house();$condo->set_name('personal condo');$duplex->set_name('detached duplex');echo $condo->get_name();echo "\n";echo $duplex->get_name();?>