Object Composition and Abstractions in OOP

RMAG news

Object composition and abstraction are fundamental concepts in PHP object-oriented programming (OOP).

Object Composition:

Object composition is a technique where an object is made up of one or more other objects. This allows for:

Code reuse
Easier maintenance
More flexibility

In PHP, object composition is achieved by including one class within another using a property or method.

Abstraction:

Abstraction is the concept of showing only the necessary information to the outside world while hiding the internal details. In PHP, abstraction is achieved using:

Abstract classes
Interfaces
Encapsulation (access modifiers)

Abstraction helps to:

Reduce complexity
Improve code organization
Increase flexibility

An example of object composition and abstraction in PHP is:

<?php

// Abstraction
abstract class Vehicle {
abstract public function move();
}

// Object Composition
class Car {
private $engine;

public function __construct(Engine $engine) {
$this->engine = $engine;
}

public function move() {
$this->engine->start();
echo “Car is moving”;
}
}

class Engine {
public function start() {
echo “Engine started”;
}
}

$car = new Car(new Engine());
$car->move();

In this example, the Car class is composed of an Engine object, demonstrating object composition. The Vehicle abstract class provides abstraction, hiding the internal details of the move method from outside.

I hope that you have clearly understood it.

Please follow and like us:
Pin Share