PHP Tutorial – 11 – Inheritance

상속을 사용하면 클래스가 다른 클래스의 코드를 다시 사용할 수 있습니다 이 예에서는 Square 클래스가 extends 키워드를 사용하여 Rectangle에서 상속 받도록 만듭니다

PHP의 클래스 하나의 다른 클래스에서만 확장 할 수 있으며 모든 비공개 멤버를 상속합니다 그 반원뿐만 아니라 그 회원들도 우리가 Square의 인스턴스를 만들 때 우리는 이제 상속 받았기 때문에 두 개의 인수를 지정해야합니다 Rectangle 생성자 Rectangle의 필드를 사용할 수도 있습니다 마치 그들이 스퀘어에 속한 것처럼 확장 된 멤버를 재정의하려면 동일한 멤버로 다시 선언하면됩니다

이름 Square 생성자는 이제 Rectangle의 생성자를 재정의하므로 단일 생성자를 사용해야합니다 인수를 사용하여 사각형을 만듭니다 square 객체가 생성 될 때 Rectangle의 생성자는 더 이상 호출되지 않습니다 하위 클래스에서 실행하려면 parent 키워드와 double 키워드를 사용해야합니다

콜론 이중 콜론은 범위 분석 연산자 (: :)로 알려져 있으며 액세스에 사용됩니다 반원들 이것은 멤버에 액세스하는 화살표 연산자와 다릅니다 클래스의 인스턴스에 속한다 parent 키워드는 부모의 별칭입니다

그래서 우리는 대신 여기에 쓸 수 있습니다 Rectangle이 다른 클래스에서 상속받은 경우 여기에 클래스 이름을 쓸 수 있습니다 재정의 된 멤버에 액세스합니다 자식 클래스가 메서드를 재정의하는 것을 막으려면 final로 선언 할 수 있습니다 클래스 그 자체 모든 클래스가 클래스를 확장하지 못하도록 final로 선언 될 수도 있습니다

객체를 사용할 때 instanceof 연산자에 대해 알아두면 좋습니다 이 연산자는 왼쪽 객체가 오른쪽 클래스의 인스턴스이거나 true가 아닌 경우 true를 반환합니다 왼쪽 객체는 오른쪽 클래스에서 상속받습니다