Salve a tutti.
Sono alle prime armi con PHP e sto cercando di imparare utilizzando manuali e tutorials.
Ovviamente cerco di creare degli scriptini facili e stupidi che mi permettano di capire il funzionamento del codice ecc.
Solitamente riesco a trovare gli errori in ciò che faccio [di solito si tratta di ";" dimenticati ecc.].
Tuttavia in relazione alle interfacce non sono in grado di capire dove io stia sbagliando.
Premetto che sono appassionato della serie "Misfits" e la utilizzo come pretesto per imparare l'OOP [catalogo i personaggi in base a nome, potere, colore degli occhi, ecc.].
In questo caso vorrei creare una funzione che restituisca una stringa in cui il nome e il potere del personaggio [oggetto della classe] vari a seconda dei parametri inseriti, mentre la stringa di testo riporti se il personaggio sia un eroe o un cattivo.
Credo sia più semplice postare la schifezza che ho fatto che descriverla.
Ho cercato di commentare il testo.
A mio discapito va il fatto che ho scritto il codice tutto da solo...
---
<?php
//Questo scriptino fa si che i caratteri accentatio vengano riconosciuti
header('Content-type: text/html;charset=utf-8');
//Dichiaro un'interfaccia "ruolo"
interface role {
abstract function ruolo();
}
//Genero la classe "misfits" i cui argomenti sono nome e potere
class misfits {
//Le proprietà della classe sono $name e $power
private $name;
private $power;
public function __construct ($name, $power){
$this->name = $name;
$this->power = $power;
print ("Ho appena creato un nuovo personaggio il cui nome è: $name");
}
}
//Genero la sottoclasse "heroes" che implementa la funzione "ruolo" dell'interfaccia "role"
class hero extends misfits implements role {
public function ruolo(){
return ($this->name . " è un eroe e il suo potere è: " . $this->power . "<br>");
}
}
//Genero la sottoclasse "villains" che implementa la funzione "ruolo" dell'interfaccia "role"
class villain extends misfits implements role {
public function ruolo(){
return ($this->name . " è un antagonista e il suo potere è: " . $this->power . "<br>");
}
}
?>
<html>
<head>
<title>INTERFACCE</title>
</head>
<body bgcolor="#000000" text="#FFFFFF">
<?php
$samuel = new hero ("Samuel", "Invisibilità");
print $samuel->ruolo();
?>
</body>
</html>
---
Qualsiasi consiglio e suggerimento sarà piu che benvenuto!!!
Grazie in anticipo per il vostro aiuto
![]()