【发布时间】:2015-02-18 02:49:32
【问题描述】:
我只是在学习 PHP 的接口,因为我以前从未真正使用过它们,但据我了解,它们只是一个接口,因为它们被称为,以维护实现它们的类的结构?
例如,如果您想为两个不同的数据库创建两个不同的类,您可以这样做:
class mysql {
public function connect() {
// code here
}
public function getData() {
// code here
}
}
class mongoDB {
public function connect() {
// code here
}
public function getData() {
// code here
}
}
...从技术上讲,这与:
interface database {
public function connect() {
}
public function getData() {
}
}
class mysql implements database {
public function connect() {
// code here
}
public function getData() {
// code here
}
}
class mongoDB implements database {
public function connect() {
// code here
}
public function getData() {
// code here
}
}
...我说的对吗?只是使用界面可以确保您不会执行以下操作,因此无法轻松更改数据库?
class mysql {
public function connect_mysql() {
// code here
}
public function getData() {
// code here
}
}
class mongoDB {
public function connect_mongo() {
// code here
}
public function getData() {
// code here
}
}
这就是他们背后的原因吗?
【问题讨论】:
-
你是对的。对象接口允许您创建代码来指定类必须实现哪些方法,而无需定义如何处理这些方法。
-
非常正确,但是
interfaces函数不能有主体,所以你声明它们public function getData();而不是public function getData() {}。 -
是的,你明白了 :-D 请记住,一个类可以有许多不同类型的接口
-
太好了——谢谢大家!
标签: php interface implements