Belajar PHP OOP Part 1.25 : Anonymous Class
- Anonymous class atau class tanpa nama
- Adalah kemampuan mendeklarasikan class, sekaligus meng-instansiasi object-nya secara langsung
- Anonymous class sangat cocok ketika kita berhadapan dengan kasus membuat implementasi interface atau abstract class sederhana, tanpa harus membuat implementasi class nya
Sebelum Mengunakan Anonymous Function
<?php
interface HelloWorld
{
function sayHello(): void;
}
class SampleHelloWorld implements HelloWorld
{
public function sayHello(): void
{
echo "Hello World" . PHP_EOL;
}
};
$helloworld = new SampleHelloWorld();
$helloworld->sayHello();
Sesudah Menggunakan Anonymous Function
<?php
interface HelloWorld
{
function sayHello(): void;
}
$helloworld = new class implements HelloWorld
{
public function sayHello(): void
{
echo "Hello World" . PHP_EOL;
}
}
$helloworld->sayHello();
Constructor di Anonymous Class
- Anonymous class juga mendukung constructor
- Jadi kita bisa menambahkan consructor jika kita mau
<?php
interface HelloWorld
{
function sayHello(): void;
}
$helloworld = new class ("Eko") implements HelloWorld
{
public string $name;
public function __construct(string $name){
$this->name = $name;
}
public function sayHello(): void
{
echo "Hello World $this->name" . PHP_EOL;
}
};
$helloworld->sayHello();