Scusate se continuo la discussione ma sono arrivato al capitolo Classi Astratte e ho di nuovo combinato un casino 
Posso chiedere a voi che ne sapete piu di me di dare un'occhiata la codice per vedere quale cavolata io abbia fatto?
Mi sembra sia abbastanza simile alle interfacce ma non capisco come mai non funzioni nulla 
Codice PHP:
<?php
abstract class misfits {
protected abstract $name;
protected abstract $power;
public abstract function __construct($name, $power){
$this->name = $name;
$this->power = $power;
print ("Abbiamo creato " . $name . " un eroe<br>")
}
public abstract function role();
}
class hero extends misfits{
public function __construct($name, $power){
$this->name = $name;
$this->power = $power;
print ("Abbiamo creato " . $name . " un eroe<br>")
}
public function role(){
return ($this->name . " è un eroe e il suo potere è: " . $this->power . "<br><br>");
}
}
class villain extends misfits{
public function __construct($name, $power){
$this->name = $name;
$this->power = $power;
print ("Abbiamo creato " . $name . " un antagonista<br>")
}
public function role(){
return ($this->name . " è un antagonista e il suo potere è: " . $this->power . "<br><br>");
}
}
?>
codice HTML:
<html> <head> <title>CLASSI ASTRATTE</title> </head> <body bgcolor="#AABB00" text="#FFFFFF">
Codice PHP:
<?php
$samuel = new hero ("Samuel", "Invisibilità");print $samuel->role();
$nathan = new hero ("Nathan", "Immortalità");print $samuel->role();
$brian = new villain ("Brian", "Milkchinesis");print $brian->role();
?>
codice HTML:
</body></html>