Typehinting merge #50
|
@ -0,0 +1,42 @@
|
|||
interface iVehicle {
|
||||
|
||||
public void drive();
|
||||
public void stop();
|
||||
|
||||
}
|
||||
|
||||
class Car implements iVehicle {
|
||||
|
||||
public void drive() {
|
||||
print("Driving...\n");
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
print("Stopping...\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class MyCar extends Car {
|
||||
|
||||
public void drive() {
|
||||
print("Driving my car...\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Program {
|
||||
|
||||
public void driveCar(iVehicle $vehicle) {
|
||||
$vehicle->drive();
|
||||
$vehicle->stop();
|
||||
}
|
||||
|
||||
public void main() {
|
||||
object $car = new Car();
|
||||
object $mycar = new MyCar();
|
||||
$this->driveCar($car);
|
||||
$this->driveCar($mycar);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
Driving...
|
||||
Stopping...
|
||||
Driving my car...
|
||||
Stopping...
|
Loading…
Reference in New Issue