我正在寻找一种方法来模仿 C# 使用/实现接口的方式。简而言之,我正在尝试复制以下代码:
interface EBook {
function read();
}
class EBookReader {
private $book;
function __construct(EBook $book) {
$this->book = $book;
}
function read() {
return $this->book->read();
}
}
class PDFBook implements EBook {
function read() {
return "reading a pdf book.";
}
}
class MobiBook implements EBook {
function read() {
return "reading a mobi book.";
}
}
使用工具可以正常工作,但是我无法模仿 Class EBookReader 使用 Ebook 作为类型的方式。
codepen 和我的代码模型:http ://codepen.io/Ornhoj/pen/gLMELX?editors=0012