ホームページ  >  記事  >  バックエンド開発  >  PHP の抽象クラスと抽象メソッドを理解するにはどうすればよいですか? (コード付き)

PHP の抽象クラスと抽象メソッドを理解するにはどうすればよいですか? (コード付き)

不言
不言オリジナル
2018-07-21 17:12:082525ブラウズ

今日は、オブジェクト指向 PHP の抽象クラスと抽象メソッドについてお話します。簡単に言うと、PHP の抽象クラスは、インスタンス化できず、他のクラスの親クラスとしてのみ使用できるクラスです。抽象メソッドを使用するには、メソッド本体を持ち込むことができません。具体的な例を見てみましょう。

オブジェクト指向の抽象メソッドと抽象クラス:

すべてのサブクラスは親クラスのメソッドを継承する必要がありますが、継承には不確実性があり、親クラスのメソッドは継承する必要があります。書き直すと、この時点ではオーバーライドされたメソッドを抽象メソッドとして定義します。抽象メソッドにはメソッド本体が必要ありません。このクラスも抽象クラスです。

抽象クラスはインスタンス化できず、他のクラスの親クラスとしてのみ使用できるクラスです。

クラス内のメソッドが抽象である場合、そのクラスは抽象クラスです。

クラスが抽象クラスの場合、そのクラスをabstractで変更する必要があります。

抽象クラスは特別なクラス、インターフェイスは特別な抽象クラス、ポリモーフィズムには抽象クラスまたはインターフェイスの使用が必要です。

テスト コードは次のとおりです:

abstract class A{
	public $name = 'zym';
	abstract function show();
}
//$a = new A();//会报错
class B extends A{
	public function show(){
		echo '继承父类的抽象方法并进行重写';
	}
}
$b = new B();
$b->show();

抽象クラスは、メンバー変数とメンバー メソッドを含む通常のクラスに似ています。2 つの違いは、抽象クラスには少なくとも 1 つが含まれている必要があることです。抽象メソッドはメソッド本体を持たず、その関数の実装はサブクラス内でのみ完了できます。

コードは次のとおりです:

//定义一个名为【交通工具】的类
abstract class Vehicle{
	private $name;//名称
	private $price;//价格
	private $brand;//品牌
	abstract function run();
}
class Truck extends Vehicle{
	function run(){
		echo '卡车在路上跑';
	}
}
class Plane extends Vehicle{
	public function run(){
		echo '飞机在天上飞';
	}
}
$plane = new Plane;
$plane->run();

注: 抽象メソッドにはメソッド本体があってはなりません。

関連する推奨事項:

PHP における抽象クラスと抽象メソッドの概念と使用法、PHP の抽象化に関する分析

PHP の抽象メソッドと抽象クラスの詳細説明

以上がPHP の抽象クラスと抽象メソッドを理解するにはどうすればよいですか? (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。