Belajar PHP OOP Part 1.25 : Anonymous Class

anoymous function

  • 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();

Next Post Previous Post
No Comment
Add Comment
comment url