추상 클래스:
1) 하나 이상의 추상 메서드(추상 함수)를 포함하는 클래스입니다. 즉, 하나 이상의 추상 메서드만 포함하는 모든 클래스는 추상 클래스입니다.
2) 추상 클래스에서는 에 특정 메소드가 있을 수 있고, 에 멤버 변수 가 있을 수 있다.
3) 추상 클래스 는 을 인스턴스화할 수 없습니다. 그것들은 모두 추상이라고 불리는데 어떻게 인스턴스화할 수 있습니까? 2333.
4) 사용법:
추상아버지 수업{
보호됨(또는 공개 수정은 비공개일 수 없으며, 그렇지 않으면 서브클래스가 이를 얻을 수 없음) 추상 함수 func1();
}
상속된 추상 메소드를 구현할 때
son 클래스는 Father를 확장합니다.{//일반 클래스와 마찬가지로 하위 클래스는 하나의 추상 클래스만 상속할 수 있습니다.
공개(추상 키워드 제거) 함수 func1{
echo '모든 추상 메서드를 구현해야 합니다';
}
}
인터페이스:
1) 인터페이스에서 은 모두 추상 메소드 입니다. (서브클래스를 구현하는데 사용되기 때문에 public이어야 합니다.)
2) 인터페이스에서 은 특정 메서드를 가질 수 없고, 는 멤버 상수 만 가질 수 있습니다.
3) 클래스는 여러 인터페이스를 구현할 수 있습니다.
3) 사용법: 구현 키워드 뒤에 여러 인터페이스를 쉼표로 구분하여 구현합니다.
클래스 아들 구현 InterfaceA,InterfaceB,InterfaceC {
//1. 이 세 가지 인터페이스의 모든 추상 메소드를 구현합니다. 2. 추상 메소드 의 매개변수와 완전히 일치해야 합니다. 3. 상수는 인터페이스는 재정의될 수 없습니다 .
}