필자는 이전에 PHP를 사용 해본 적이 없으므로 PHP의 인터페이스에 대해 배우고 있습니다.하지만 실제로 인터페이스를 이해하고 있기 때문에 구현 된 클래스가 어떻게 구성되어 있는지 확인하기 위해 인터페이스를 설명합니다.Do implemenations는해야 할 일을 단지 설명합니까?
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
꽤 정확하지만'interfaces' 함수는 본문을 가질 수 없으므로'public function getData() {}'대신'public function getData();를 선언하십시오. – Jite
네, 알아 냈습니다 :-D 명심하십시오, 하나의 클래스는 많은 다른 유형의 인터페이스를 가질 수 있습니다 – donald123