php面向对象全攻略 (十四) php5接口技术_PHP
PHP 与大多数面向对象编程语言一样,不支持多重继承.也就是说每个类只能继承一个父
类。为了解决这个问题,PHP 引入了接口,接口的思想是指定了一个实现了该接口的类必须
实现的一系列方法。接口是一种特殊的抽象类,抽象类又是一种特殊的类,所以接口也是一
种特殊的类,为什么说接口是一种特殊的抽象类呢?如果一个抽象类里面的所有的方法都是
抽象方法,那么我们就换一种声明方法使用“接口”;也就是说接口里面所有的方法必须都是
声明为抽象方法,另外接口里面不能声明变量,而且接口里面所有的成员都是public 权限的。
所以子类在实现的时候也一定要使用public 权限实限。
声明一个类的时候我们使用的关键字是“class”,而接口一种特殊的类,使用的关键字
是“interface”;
类的定义:class 类名{ … } ,接口的声明:interface 接口名{ … }
代码片段
复制代码 代码如下:
abstract class Demo{
var $test;
abstract function fun1();
abstract function fun2();
function fun3(){
… .
}
}
$demo=new Demo(); //抽象类为能产生实例对象,所以这样做是错的,实例化对象交给子类
class Test extends Demo{
function fun1(){
…
}
function fun2(){
…
}
}
$test=new Test(); //子类可以实例化对象,因为实现了父类中所有抽象方法
?>
上例中定义了一个接口“one”,里面声明了两个抽象方法“fun1”和“fun2”,因为接
口里面所有的方法都是抽象方法,所以在声明抽象方法的时候就不用像抽象类那样使用
“abstract”这个关键字了,默认的已经加上这个关键字,另外在接口里边的“public”这个访
问权限也可以去掉,因为默认就是public 的,因为接口里所有成员都要是公有的,所在对于
接口里面的成员我们就不能使用“private”的和“protected”的权限了,都要用public 或是默
认的。另外在接口里面我们也声明了一个常量“constant“, 因为在接口里面不能用变量成
员,所以我们要使用const 这个关键字声明。
因为接口是一种特殊的抽象类,里面所有的方法都是抽象方法,所以接口也不能产生实
例对象;它也做为一种规范,所有抽象方法需要子类去实现。
我们可以使用“extends“关键字让一个接口去继承另一个接口;
代码片段
复制代码 代码如下:
//使用”extends”继承另外一个接口
interface Two extends One{
function fun3();
function fun4();
}
?>
而我们定义一接口的子类去实现接口中全部抽象方法使用的关键字是“implements”,而
不是我们前面所说的“extends”;
代码片段
复制代码 代码如下:
//使用“implements”这个关键字去实现接口中的抽象方法
class Three implements One{
function fun1(){
… .
}
function fun2(){
… .
}
}
//实现了全部方法,我们去可以使用子类去实例化对象了
$three=new Three();
?>
我们也可以使用抽象类,去实现接口中的部分抽象方法,但要想实例化对象,这个抽象
类还要有子类把它所有的抽象方法都实现才行;
在前面我们说过,PHP 是单继承的,一个类只能有一父类,但是一个类可以实现多个接
口,就相当于一个类要遵守多个规范,就像我们不仅要遵守国家的法律,如果是在学校的话,
还要遵守学校的校规一样;
代码片段
复制代码 代码如下:
//使用implements实现多个接口
class Four implemtns 接口一, 接口二, … .{
//必须把所有接口中的方法都要实现才可以实例化对象。
}
?>
PHP 中不仅一个类可以实现多个接口,也可以在继承一个类的同时实现多个接口,一定
要先继承类再去实现接口;
代码片段
复制代码 代码如下:
//使用extends继承一个类,使用implements实现多个接口
class Four extends 类名一implemtns 接口一, 接口二, … .{
//所有接口中的方法都要实现才可以实例化对象
… … … ..
}
?>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











php5와 php8의 차이점은 성능, 언어 구조, 유형 시스템, 오류 처리, 비동기 프로그래밍, 표준 라이브러리 기능 및 보안 측면에서 있습니다. 자세한 소개: 1. 성능 향상 PHP5와 비교하여 PHP8은 JIT 컴파일러를 도입하여 일부 고주파 실행 코드를 컴파일하고 최적화하여 실행 속도를 향상시킵니다. PHP8에는 몇 가지 새로운 언어 구조와 기능이 도입되었습니다. PHP8은 명명된 매개변수를 지원하므로 개발자는 매개변수 순서 대신 매개변수 이름을 전달할 수 있습니다.

php5에서 포트 80을 변경하는 방법: 1. Apache 서버 구성 파일에서 포트 번호를 편집합니다. 2. PHP가 새 포트에서 작동하도록 PHP 구성 파일을 편집합니다. 3. Apache 서버를 다시 시작하면 PHP 응용 프로그램이 실행됩니다. 새 포트에서 실행을 시작합니다.

php5가 포트 9000을 수신하지 않는 경우의 해결 단계: 1. PHP-FPM 구성 파일을 확인합니다. 2. PHP-FPM 서비스를 다시 시작합니다. 3. 방화벽을 끄거나 포트 전달을 구성합니다. 4. 다른 프로세스가 포트 9000을 사용하는지 확인합니다.

php7과 php5의 구문 차이점은 다음과 같습니다. 1. PHP7은 엄격한 유형 선언을 도입하지만 PHP5 변수 유형은 암시적입니다. 2. PHP7은 스칼라 유형 선언을 지원하지만 PHP5는 지원하지 않습니다. 3. PHP7은 NULL 병합 연산자를 도입합니다. PHP5는 변수가 존재하고 null이 아닌지 확인합니다. 조건문을 사용해야 합니다. 4. PHP7은 새로운 비교 연산자 "<=>"를 추가하지만 PHP5는 그렇지 않습니다. 5. PHP5는 새로운 기능인 익명 클래스를 도입합니다. 하지 않습니다.

웹사이트 관리자라면 기본 포트인 80에서 PHP5 포트를 변경해야 하는 상황이 발생할 수 있습니다. 이 과정은 다소 시간이 걸릴 수 있지만, 아래 단계만 따라오시면 쉽게 완료됩니다.

PHP5를 사용할 때 일부 사용자는 포트 9000을 수신할 수 없는 상황에 직면할 수 있습니다. 현재 이 문제를 해결하려면 일부 구성 및 문제 해결 작업을 수행해야 합니다.

php7과 5 버전의 차이점에는 성능 개선, 스칼라 유형 선언, 반환 값 유형 선언, 예외 처리 개선, 익명 클래스, 구문 개선, 새로운 연산자, 향상된 오류 처리 및 일부 이전 기능 제거가 포함됩니다. 세부 소개: 1. 성능 향상 PHP7은 Zend Engine 3.0이라는 새로운 Zend 엔진을 도입하여 향상된 메모리 관리, 최적화된 함수 호출 및 예외 처리를 통해 PHP5의 성능을 약 2배 향상시켰습니다. , 향상된 가비지 수집 등

PHP는 동적 웹사이트와 애플리케이션을 개발하는 데 널리 사용되는 서버측 프로그래밍 언어입니다. 최근에는 PHP7의 출시가 주목을 받고 있습니다. PHP7은 이전 버전(예: PHP5)에 비해 많은 개선과 최적화를 제공합니다. 이 기사에서는 PHP7과 PHP5의 구문 차이점을 살펴보겠습니다.
