ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルの抽象クラスと抽象メソッドに関連する問題の分析

PHP_PHP チュートリアルの抽象クラスと抽象メソッドに関連する問題の分析

WBOY
WBOYオリジナル
2016-07-13 10:42:301000ブラウズ

PHP の抽象クラスと抽象メソッドの分析を見てみましょう。この記事がすべての学生に役立つことを願っています。オブジェクト指向 (OOP) 言語では、クラスは 1 つ以上のサブクラスを持つことができ、各クラスには外部コードがアクセスするためのインターフェイスとして少なくとも 1 つのパブリック メソッドがあります。抽象メソッドは継承を容易にするために導入されています。次に、抽象クラスと抽象メソッドの定義方法とその特徴を見てみましょう。

抽象メソッドとは何ですか?メソッド名のみでメソッド本体を持たずにクラス内に定義するメソッドは、いわゆるメソッド本体が存在しないことを意味し、宣言時に中括弧やメソッドの内容が存在しません。を直接宣言する場合は、メソッド名の後にセミコロンを付けます。また、抽象メソッドを宣言する場合は、キーワード「abstract」を追加して変更します。

1. 抽象的なキーワード: 抽象的

抽象とは、正確に説明できないが、特定の概念または名前があることを意味します。PHP で抽象クラスまたはメソッドを宣言するには、abstract キーワードを使用する必要があります。

2. 抽象メソッドと抽象クラスの定義

クラス内の少なくとも 1 つのメソッドは抽象メソッドであり、それを抽象クラスと呼びます。したがって、抽象クラスを定義する場合は、最初に抽象メソッドを定義します。

抽象クラス class1{

抽象関数 fun1(); …

}


1. クラスには少なくとも 1 つの抽象メソッドが必要です
2. 抽象メソッドには { }

を含めることはできません 3. Abstract

は抽象メソッドの前に追加する必要があります

3. 抽象クラスとメソッドの使用規則


抽象クラスのいくつかの特徴:

1. インスタンス化はできませんが、継承のみ可能です

2. 継承された派生クラスでは、インスタンス化する前にすべての抽象メソッドをオーバーロードする必要があります

抽象メソッドに関するステートメントは次のとおりです: PHP_PHP チュートリアルの抽象クラスと抽象メソッドに関連する問題の分析

コードは次のとおりですコードをコピー 抽象関数 fun1(); 抽象クラスとは何ですか?クラス内のメソッドが抽象メソッドである限り、クラスは抽象クラスとして定義する必要があります。抽象クラスはキーワード「abstract」を使用して変更する必要もあります。抽象クラスはオブジェクトをインスタンス化できないため、抽象メソッドはサブクラス メソッドのオーバーロードのテンプレートとして使用され、継承された抽象クラス内のすべてのメソッドを実装する必要があります。

?>

抽象クラスと抽象クラスの実装例は以下の通りです:

コードは次のとおりですコードをコピー abstract class User{ //抽象クラスを定義します
抽象保護関数 getUser() // 抽象メソッドを定義します

; パブリック関数 print_content(){
print $this->getUser();
}
}

クラス vipUser は User{
を拡張します 保護された関数 getUser(){

return "抽象クラスと抽象メソッド";

}
}

$user=new vipUser() // サブクラスをインスタンス化します
$user->print_content(); //抽象クラスと抽象メソッド

?>




注: 抽象クラスが別の抽象クラスを継承する場合 (抽象クラスを拡張することが目的)、親クラスの抽象メソッドをオーバーライドすることはできません。

PHP5.1 では、静的抽象メソッドが抽象クラスでサポートされています。以下の例では、静的抽象メソッドを宣言できることがわかります。このメソッドを実装する場合は、静的メソッドである必要があります。

コードは次のとおりです コードをコピー

抽象クラス ユーザー{
保護された静的 $sal=0;
静的抽象関数 getSal();
静的抽象関数 setSal($sal)
}
クラス VipUser は User{
を拡張します 静的関数 getSal(){
自分自身を返します::$sal;
}
静的関数 setSal($sal){
自分::$sal=$sal;
}
}
VipUser::setSal(100);
echo "あなたの sal は " . VipUser::getSal();
?>

www.bkjia.com本当http://www.bkjia.com/PHPjc/634549.html技術記事 PHP の抽象クラスと抽象メソッドの分析を見てみましょう。この記事がすべての学生に役立つことを願っています。 オブジェクト指向 (OOP) 言語では...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。