Belajar PHP OOP Part 1.15 : Polymorphism

polymorphism

  • Polymorphism berasal dari bahasa yunani yang berarti banyak bentuk
  • Dalam OOP, Polymorphism adalah kemampuan sebuah object berubah bentuk menjadi bentuk lain
  • Polymorphism erat hubungannya dengan inheritance


<?php

class Programmer
{
public string $name;

public function __construct(string $name)
{
$this->name = $name;
}
}


class BackendProgrammer extends Programmer
{

}


class FrontendProgrammer extends Programmer
{

}

class Company
{
public Programmer $programmer;
}
<?php

require_once "data/Programmer.php";

$company = new Company();
$company->programmer = new Programmer("Eko");
var_dump($company);

$company->programmer = new BackendProgrammer("Eko");
var_dump($company);

$company->programmer = new FrontendProgrammer("Eko");
var_dump($company);
data dengan polymorphism

Function Arguments Polymorphism


<?php

class Programmer
{
public string $name;

public function __construct(string $name)
{
$this->name = $name;
}
}


class BackendProgrammer extends Programmer
{

}


class FrontendProgrammer extends Programmer
{

}

class Company
{
public Programmer $programmer;
}

//Function Arguments Polymorphism
function sayHelloProgrammer(Programmer $programmer)
{
echo "Hello Programmer $programmer->name" . PHP_EOL;
}
<?php

require_once "data/Programmer.php";
require_once "data/Manager.php";

$company = new Company();
$company->programmer = new Programmer("Eko");
var_dump($company);

$company->programmer = new BackendProgrammer("Eko");
var_dump($company);

$company->programmer = new FrontendProgrammer("Eko");
var_dump($company);

//Function Arguments Polymorphism
sayHelloProgrammer(new Programmer("Eko"));
sayHelloProgrammer(new BackendProgrammer("Eko"));
sayHelloProgrammer(new FrontendProgrammer("Eko"));
polymorphism function arguments

Next Post Previous Post
No Comment
Add Comment
comment url