index.PHP

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Projeto Controle Remoto</h1>
    <?php 
        require_once 'ControleRemoto.php';
        $c = new ControleRemoto;
        $c->ligar();
        $c->abrirMenu();
    ?>
</body>
</html>

ControleRemoto.PHP

<?php 
    class ControleRemoto implements Controlador {
        // Atributos
        private $volume;
        private $ligado;
        private $tocando;
        
        // Sobrescrevendo Métodos
        public function ligar() {
            $this->setLigado(true);
        }
        public function desligar() {
            $this->setLigado(false);
        }
        public function abrirMenu() {
            echo "<p>----- MENU -----</p>";
            echo "<br>Está ligado?: " . ($this->getLigado()?"SIM":"NÃO");
            echo "<br>Está tocando?: " . ($this->getTocando()?"SIM":'NÃO');
            echo "<br>Volume: " . $this->getVolume();
            for ($i=0;$i <= $this->getVolume(); $i+=10) {
                echo "|";
            }
            echo "<br>";
        }  
        public function fecharMenu() {
            echo "<br>Fecah do Menu...";
        }
        public function maisVolume() {
            if ($this->getLigado()) {
                $this->setVolume($this->getVolume() + 10);
            } else {
                echo "<p>ERRO! Não posso aumentar o volume</p>";
            }
        }
        public function menosVolume() {
            if ($this->getLigado()) {
                $this->setLigado($this->getVolume() - 10);
            } else {
                echo "<p>ERRO! Não posso diminuir o volume</p>";
            }
        }
        public function ligarMudo() {
            if ($this->getLigado() && $this->getVolume()>0) {
                $this->setVolume(0);
            }
        }
        public function desligarMudo() {
            if ($this->getLigado() && $this->getVolume()==0) {
                $this->setVolume(50);
            }
        }
        public function play() {
            if ($this->getLigado() && !($this->getTocando())) {
                $this->setTocando(true);
            }
        }
        public function pause() {
            if ($this->getLigado() && $this->getTocando()) {
                $this->setTocando(false);
            }
        }

        // Métodos Especiais
        public function __construct()
        {
            $this->volume = 50;
            $this->ligado = false;
            $this->tocando = false;
        }
        private function getVolume() {
            return $this->volume;
        }
        private function setVolume($v) {
            $this->volume = $v;
        }
        private function getLigado() {
            return $this->volume;
        }
        private function setLigado($l) {
            $this->ligado = 1;
        }
        private function getTocando() {
            return $this->volume;
        }
        private function setTocando($t) {
            $this->tocando = $t;
        }
    }
?>

Controlador.PHP

<?php 
    interface Controlador {
        // Métodos Abstratos
        public function ligar();
        public function desligar();
        public function abrirMenu();
        public function fecharMenu();
        public function maisVolume();
        public function menosVolume();
        public function ligarMudo();
        public function desligarMudo();
        public function play();
        public function pause();
    }
?>