我刚刚学习了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
}
}
这几乎是他们背后的推理吗?
你是对的。对象接口允许您创建代码,以指定类必须实现哪些方法,而无需定义如何处理这些方法。 – daker 2014-12-19 07:28:35
非常正确,但'interfaces'函数不能有一个body,所以你声明它们是'public function getData();'而不是'public function getData(){}'。 – Jite 2014-12-19 07:29:53
是的,你知道了:--D请记住,一个类可以有很多不同类型的接口 – donald123 2014-12-19 07:32:35