1. 추상수업
1. 추상 클래스란 클래스 앞에 abstract 키워드가 추가된 클래스와 추상 메소드(클래스 메소드 function 키워드 앞에 추가된 추상 키워드)가 있는 클래스를 의미합니다.
2. 추상 클래스는 직접 인스턴스화할 수 없습니다. 추상 클래스는 하위 클래스에 필요한 메서드만 정의(또는 부분적으로 구현)합니다. 서브클래스는 추상 클래스를 상속하고 추상 클래스의 모든 추상 메서드를 구현하여 추상 클래스를 구체적으로 만들 수 있습니다.
3. 하위 클래스를 인스턴스화해야 하는 경우 추상 클래스에 모든 추상 메서드를 구현해야 합니다. 서브클래스가 추상 클래스의 모든 추상 메서드를 구현하지 않는 경우 서브클래스도 추상 클래스이므로 클래스의 앞에 abstract 키워드가 와야 하며 인스턴스화할 수 없습니다.
[c-sharp] 일반 카피프린트 보기?
인터페이스 에서는 상수 변수를 선언할 수 있습니다. 그러나 인터페이스에 상수 변수를 배치하는 것은 인터페이스로서의 존재 목적에 위배되며 인터페이스와 클래스의 서로 다른 값을 혼동하기도 합니다. 정말 필요한 경우 해당 초록에 넣을 수 있습니다. 클래스 또는 클래스 인.
[php] 일반 카피프린트 보기?{
구현
iA{} 4. 클래스는 선언에서 Implements 키워드를 사용하여 인터페이스를 구현할 수 있습니다. 이후 인터페이스를 구현하는 구체적인 과정은 추상 메서드만 포함하는 추상 클래스를 상속받는 것과 동일합니다. 클래스는 상위 클래스를 상속하고 동시에 여러 인터페이스를 구현할 수 있습니다. 확장 절은 구현 절 앞에 와야 합니다. PHP는 하나의 상위 클래스로부터의 상속만 지원하므로 확장 키워드 뒤에는 클래스 이름만 올 수 있습니다.5 .接口不可以实现另一个接口,但可以继承多个
[php] 일반 카피프린트를 보시겠습니까?
(5) 추상 클래스는 인터페이스와 클래스 사이의 중개자입니다. 추상 클래스는 인터페이스와 클래스를 연결하는 역할을 합니다. 한편으로 추상 클래스는 추상적이며 하위 클래스가 구현해야 하는 함수를 표준화하기 위해 추상 메서드를 선언할 수 있습니다. 반면에 하위 클래스에서 직접 사용하거나 재정의할 수 있도록 기본 메서드 본문을 정의할 수 있습니다. 또한 상속을 통해 하위 클래스에서 사용할 자체 인스턴스 변수를 정의할 수도 있습니다.
(6) 인터페이스에서 추상 메서드 앞에는 abstract 키워드를 추가할 수 없습니다. 추상 메서드는 기본적으로 암시적이며 추상 메서드의 상속을 방지하기 위해 final 키워드를 추가할 수 없습니다. 추상 클래스에서는 추상 메서드 앞에 abstract를 추가하여 해당 클래스가 추상 메서드로 명시적으로 선언되었음을 나타내야 합니다.
(7) 인터페이스의 추상 메서드는 기본적으로 공개되며 비공개 또는 보호된 수정자를 사용하여 수정할 수 없습니다. 추상 클래스의 추상 메서드는 public 및 protected로 수정할 수 있지만 private으로는 수정할 수 없습니다.
3. 인터페이스 적용 사례
(1) 클래스는 구현 방법에 관계없이 조정을 위해 특정 인터페이스가 필요합니다.
(2)는 특정 기능을 구현할 수 있는 식별자로 존재하거나 인터페이스 메소드가 없는 순수 식별자일 수도 있다.
(3) 클래스 그룹을 단일 클래스로 처리해야 하며 호출자는 인터페이스를 통해 이 클래스 그룹에만 연결합니다.
(4) 여러 특정 기능을 구현해야 하며 이러한 기능은 전혀 연결되지 않을 수 있습니다.
4. 추상 클래스 적용 사례
한마디로 통합 인터페이스와 인스턴스 변수 또는 기본 메소드가 모두 필요한 경우에 사용할 수 있습니다. 가장 일반적인 것은 다음과 같습니다.
(1) 인터페이스 세트를 정의하지만 각 구현 클래스가 모든 인터페이스를 구현하도록 강제하고 싶지는 않습니다. 추상 클래스를 사용하여 메서드 본문 집합 또는 빈 메서드 본문을 정의한 다음 하위 클래스에서 다루고자 하는 메서드를 선택하도록 할 수 있습니다.
(2) 경우에 따라 순수 인터페이스만으로는 클래스 간의 조정을 충족할 수 없으며, 서로 다른 관계를 구별하기 위해 클래스의 상태를 나타내는 변수도 필요합니다. Abstract의 중개자 역할은 이를 매우 잘 충족시킬 수 있습니다.
(3) 상호 조정된 메서드 집합을 표준화합니다. 그 중 일부는 공통적이고 상태 독립적이며 하위 클래스가 별도로 구현할 필요 없이 공유할 수 있지만 다른 메서드에서는 각 하위 클래스를 구현해야 합니다. 특정 기능을 달성하기 위해 자신의 특정 상태에 따라.
이상은 PHP의 추상 클래스(추상 클래스)와 인터페이스(인터페이스)에 대한 내용을 포함하여 소개한 내용으로, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.