ich die Klasse zwingen, zu implementieren muß eine Methode zum Beispiel onCreate()
, wie auch in anderen Sprachen zu implementieren wie php
wir so etwas wie sehen:In Typoskript, wie geerbte Klasse zu zwingen, eine Methode
<?php
// Declare the interface 'Movement'
interface MovementEvents
{
public function onWalk($distance);
}
// Declare the abstract class 'Animal'
abstract class Animal implements MovementEvents{
protected $energy = 100;
public function useEnergy($amount){
$energy -= $amount;
}
}
class Cat extends Animal{
// If I didn't implement `onWalk()` I will get an error
public function onWalk($distance){
$amount = $distance/100;
$this->useEnergy($amount)
}
}
?>
Beachten Sie, dass in mein Beispiel, wenn ich nicht onWalk()
geführt hat wird der Code nicht funktionieren und Sie erhalten eine Fehlermeldung, aber wenn ich das gleiche tun in TypeScript
, wie folgend:
// Declare the interface 'Movement'
interface MovementEvents
{
onWalk: (distance)=>number;
}
// Declare the abstract class 'Animal'
abstract class Animal implements MovementEvents{
protected energy:number = 100;
public useEnergy(amount:number):number{
return this.energy -= amount;
}
}
class Cat extends Animal{
// If I didnt implment `onWalk()` I will get an error
public onWalk(distance:number):number{
var amount:number = distance/100;
return this.useEnergy(amount);
}
}
kein Fehler zeigen, ob ich tat oder Umsetzung nicht das auf Walk-Methode, aber die es wird ein Fehler geben, wenn ich onWalk()
in der Animal
Klasse nicht implementieren, muss ich das gleiche haben wie php
in TypeScript
?
Erstaunlich vielen Dank .. Ich verbrachte Tage auf der Suche nach einer Lösung. –