ホームページ バックエンド開発 PHPチュートリアル php面向对象全攻略 (十四) php5接口技术_PHP

php面向对象全攻略 (十四) php5接口技术_PHP

Jun 01, 2016 pm 12:22 PM
php5

20.PHP5 接口技术
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 接口一, 接口二, … .{
//所有接口中的方法都要实现才可以实例化对象
… … … ..
}
?>
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

php5とphp8の違いは何ですか php5とphp8の違いは何ですか Sep 25, 2023 pm 01:34 PM

php5 と php8 の違いは、パフォーマンス、言語構造、型システム、エラー処理、非同期プログラミング、標準ライブラリ関数、セキュリティの点です。詳細な紹介: 1. パフォーマンスの向上. PHP5 と比較して、PHP8 はパフォーマンスが大幅に向上しています. PHP8 では、高頻度の実行コードをコンパイルおよび最適化できる JIT コンパイラーが導入されており、それによって実行速度が向上しています; 2. 言語構造の改善、 PHP8 では、いくつかの新しい言語構造と関数が導入されており、PHP8 では名前付きパラメータがサポートされており、開発者はパラメータの順序などの代わりにパラメータ名を渡すことができます。

php5でポート80を変更する方法 php5でポート80を変更する方法 Jul 24, 2023 pm 04:57 PM

php5 でポート 80 を変更する方法: 1. Apache サーバー設定ファイルのポート番号を編集します; 2. PHP 設定ファイルを編集して、PHP が新しいポートで動作することを確認します; 3. Apache サーバーを再起動すると、PHP アプリケーションが起動します。新しいポートで実行を開始します。ポートで実行します。

php5がポート9000でリッスンしない問題を解決する方法 php5がポート9000でリッスンしない問題を解決する方法 Jul 10, 2023 pm 04:01 PM

php5 がポート 9000 をリッスンしない場合の解決手順: 1. PHP-FPM 構成ファイルを確認します; 2. PHP-FPM サービスを再起動します; 3. ファイアウォールをオフにするか、ポート転送を構成します; 4. 他のプロセスがポート 9000 を占有しているかどうかを確認します。

php7 と php5 の構文の違いは何ですか php7 と php5 の構文の違いは何ですか Jul 10, 2023 pm 03:25 PM

php7 と php5 の構文の違いは次のとおりです: 1. PHP7 では厳密な型宣言が導入されていますが、PHP5 変数の型は暗黙的です; 2. PHP7 ではスカラー型宣言のサポートが導入されていますが、PHP5 ではサポートされていません; 3. PHP7 では NULL Merge 演算子が導入されていますが、PHP7 では NULL Merge 演算子が導入されています。 PHP5 では、変数が存在するかどうか、null ではないかどうかをチェックします。条件文を使用する必要があります。 4. PHP7 には新しい比較演算子「<=>」が追加されていますが、PHP5 にはありません。 5. PHP7 では、新機能の匿名クラスが導入されていますが、PHP5 では、ではない。

php5でポート80を変更する方法 php5でポート80を変更する方法 Mar 21, 2023 pm 04:32 PM

Web サイト管理者は、PHP5 ポートをデフォルトのポート 80 から変更する必要がある状況に遭遇する可能性があります。このプロセスは少し急いでいるかもしれませんが、以下の手順に従えば簡単に完了します。

php5がポート9000でリッスンしない問題を解決する方法 php5がポート9000でリッスンしない問題を解決する方法 Mar 21, 2023 pm 04:32 PM

PHP5 を使用している場合、一部のユーザーはポート 9000 をリッスンできない状況に遭遇する可能性があります。現時点では、この問題を解決するには、いくつかの構成とトラブルシューティング作業を実行する必要があります。

php7と5のバージョンの違いは何ですか? php7と5のバージョンの違いは何ですか? Sep 15, 2023 pm 04:11 PM

php7 と 5 のバージョンの違いには、パフォーマンスの向上、スカラー型宣言、戻り値の型宣言、例外処理の改善、匿名クラス、構文の改善、新しい演算子、エラー処理の強化、および一部の古い機能の削除が含まれます。詳細な紹介: 1. パフォーマンスの向上 PHP7 では、Zend Engine 3.0 という名前の新しい Zend エンジンが導入されており、パフォーマンスが大幅に向上しています。主にメモリ管理の改善により、PHP7 のパフォーマンスは PHP5 の約 2 倍になり、関数呼び出しと例外処理が最適化されました。 、ガベージコレクションの強化など。

PHP7 と PHP5 の構文の違いについて説明します。 PHP7 と PHP5 の構文の違いについて説明します。 Mar 21, 2023 pm 07:10 PM

PHP は、動的な Web サイトやアプリケーションの開発に使用される、広く使用されているサーバー側プログラミング言語です。近年、PHP7のリリースが注目を集めています。 PHP7 には、以前のバージョン (PHP5 など) に比べて多くの改善と最適化が行われています。この記事では、PHP7 と PHP5 の構文の違いについて説明します。

See all articles