>  기사  >  백엔드 개발  >  PHP 객체지향 최종 키워드 사용법 및 예

PHP 객체지향 최종 키워드 사용법 및 예

巴扎黑
巴扎黑원래의
2017-04-12 17:47:532364검색

이번 강의에서는 최종 키워드의 개념과 사용법에 대해 이야기하겠습니다.

최종 키워드는 무엇인가요?

최종 중국어 번역은 "최종", "최종"입니다. 선언하기 전에 final 키워드로 클래스를 수정하면 이 함수는 어떤 하위 클래스에서도 오버로드되거나 상속되지 않습니다. 즉, final로 수정된 클래스는 하위 클래스를 가질 수 없습니다.

이전 강좌에서는 public, private, protected, static의 4가지 유형의 키워드인 public, private, protected, static에 대해 이야기했습니다. 사용법과 예제는 모두 이전 과정에 있습니다. 배우고 싶은 학생들은 이전 과정을 참고하세요:

PHP 객체 지향에서 정적 메서드 사용하기

php 지향 객체 데이터 숨기기

예제를 사용하여 final과 다른 키워드의 차이점을 비교한 다음 final:

최종 사용예에 대한 자세한 설명:

<?php
header("content-type:text/html;charset=utf-8");
class A{                                               //声明类
public $num = "23";
final function operation(){                            //创建方法,用final关键字
echo &#39;上面变量$num数字是 &#39; . $this->num ;
}
}
class B extends A{                                    //创建子类B继承A类
public $num = "50";
function operation()
{
echo &#39;这个变量$num数字是 &#39; . $this->num ;
}
}
$Num = new B();                                         //实例化子类
$Num ->operation();                                     //调用子类中的方法

먼저 클래스 A를 생성하고 클래스 A에 메소드를 추가했는데, 메소드 앞에 키워드로 final을 사용했습니다. 즉, 클래스 A는 메소드 Operation()은 더 이상 상속되거나 오버로드되지 않습니다. 그런 다음 상속할 수 없는 method() 메서드를 포함하여 A 클래스를 상속하기 위해 B 클래스가 생성됩니다.

위의 예에서는 A 클래스의 Operation() 메서드를 B 클래스에 오버로드하는 것이 금지됩니다. 그렇게 하면 오류만 발생합니다.

클래스 앞에 final을 작성하면 클래스 전체 상속이 금지됩니다. 예를 들어 위의 예

final class A{
}

에서 이렇게 작성하면 클래스 A 전체가 상속되거나 오버로드되지 않습니다.

위 내용은 PHP 객체지향 최종 키워드 사용법 및 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.