ホームページ > バックエンド開発 > PHPの問題 > php oop とはどういう意味ですか?

php oop とはどういう意味ですか?

藏色散人
リリース: 2023-03-15 06:24:01
オリジナル
3291 人が閲覧しました

php oop は、オブジェクト指向プログラミングを指します。オブジェクト指向プログラミング (OOP) では、オブジェクトは、情報とその情報の処理方法の記述で構成される全体です。現実世界の抽象化です。 。

php oop とはどういう意味ですか?

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php oop の意味?

PHP オブジェクト指向

オブジェクト指向プログラミング(英語: Object-owned programming、略称: OOP)において、オブジェクトとは情報の集合です。情報処理の記述全体は現実世界の抽象化です。

現実世界では、私たちが直面しているのはコンピューター、テレビ、自転車などの物体です。

オブジェクトの主な 3 つの特性:

  • #オブジェクトの動作: オブジェクトに適用できる操作、オンにすること明かりをつけるのも消すのも行動です。

  • オブジェクトの形状: メソッドが適用されたときのオブジェクトの反応、色、サイズ、外観。

  • オブジェクトの表現: オブジェクトの表現は ID カードに相当し、特に同じ動作とステータスの違いを区別します。

たとえば、Animal は抽象クラスです。犬と羊を指定できます。犬と羊は具体的なオブジェクトです。これらは色の属性を持ち、 と書くことができ、実行することができますおよびその他の行動状態。

オブジェクト指向コンテンツ

クラス - 物の抽象的な特性を定義します。クラスの定義には、データの形式とデータに対する操作が含まれます。

Object -クラスのインスタンスです。

メンバー変数-クラス内で定義された変数。この変数の値は外部からは見えませんが、メンバー関数を通じてアクセスできます。クラスがオブジェクトとしてインスタンス化された後、変数はオブジェクトの属性になることができます。

メンバー関数-クラス内で定義され、オブジェクトのデータにアクセスするために使用できます。

継承-継承は、サブクラスが親クラスのデータ構造とメソッドを自動的に共有するメカニズムであり、クラス間の関係です。クラスを定義して実装するときは、既存のクラスに基づいて実行したり、既存のクラスによって定義されたコンテンツを独自のコンテンツとして取得したり、新しいコンテンツを追加したりできます。

親クラス - クラスは他のクラスによって継承され、このクラスは親クラス、基本クラス、またはスーパークラスと呼ばれます。

サブクラス-他のクラスを継承するクラスは、サブクラスまたは派生クラスと呼ばれます。

ポリモーフィズム-ポリモーフィズムとは、同じ関数またはメソッドが複数の種類のオブジェクトに作用し、異なる結果が得られることを意味します。同じメッセージを受信したときに、オブジェクトが異なれば結果も異なる場合があり、この現象はポリモーフィズムと呼ばれます。

オーバーロード - 簡単に言うと、関数またはメソッドの名前は同じですが、パラメーター リストが異なる状況です。名前が同じでパラメーターが異なるこのような関数またはメソッドは、オーバーロードされた関数またはメソッドと呼ばれます。

抽象化-抽象化は、一貫したデータ構造(属性)と動作(操作)を持つオブジェクトをクラスに抽象化することを指します。クラスは、アプリケーションに関連する重要なプロパティを反映し、その他の無関係なコンテンツを無視する抽象化です。クラスの分割は主観的ですが、特定のアプリケーションに関連している必要があります。

カプセル化-カプセル化とは、現実世界に存在するオブジェクトのプロパティと動作をバインドし、論理ユニットに配置することを指します。

Constructor - 主にオブジェクトの作成時にオブジェクトを初期化するために使用され、オブジェクトのメンバー変数に初期値を割り当てます。オブジェクトを作成するステートメントでは常に new 演算子と一緒に使用されます。

Destructor - デストラクター (デストラクター) コンストラクターとは対照的に、オブジェクトがそのライフサイクルを終了すると (たとえば、オブジェクトが配置されている関数が呼び出されたとき)、システムは自動的にデストラクターを実行します。デストラクターは、「クリーンアップ」作業を行うためによく使用されます (たとえば、オブジェクトを作成する場合、new を使用してメモリー空間を開きます。このメモリー空間は、終了する前にデストラクターの delete で解放する必要があります)。

下の図では、Car クラスを通じて Mercedes、Bmw、Audi の 3 つのオブジェクトを作成しました。

$mercedes = new Car ();
$bmw = new Car ();
$audi = new Car ();
ログイン後にコピー

PHP クラス定義

PHP 定義クラスの通常の構文形式は次のとおりです。

<?php
class phpClass {
  var $var1;
  var $var2 = "constant string";
  
  function myfunc ($arg1, $arg2) {
     [..]
  }
  [..]
}
?>
ログイン後にコピー

分析は次のとおりです。

クラスは、class キーワードに続いてクラス名を使用して定義されます。

変数とメソッドは、クラス名の後の中括弧 ({}) 内で定義できます。

クラスの変数は var を使用して宣言され、変数の初期化も可能です。

関数定義は PHP 関数の定義に似ていますが、この関数にはクラスとそのインスタンス化されたオブジェクトを通じてのみアクセスできます。

インスタンス

<?php
class Site {
  /* 成员变量 */
  var $url;
  var $title;
  
  /* 成员函数 */
  function setUrl($par){
     $this->url = $par;
  }
  
  function getUrl(){
     echo $this->url . PHP_EOL;
  }
  
  function setTitle($par){
     $this->title = $par;
  }
  
  function getTitle(){
     echo $this->title . PHP_EOL;
  }
}
?>
ログイン後にコピー

変数$thisはそれ自体のオブジェクトを表します。

PHP_EOL は改行文字です。

PHP でオブジェクトを作成する

クラスを作成した後、new 演算子を使用してこのクラスのオブジェクトをインスタンス化できます。上記コード 3 つのオブジェクトが作成されました 3 つのオブジェクトはそれぞれ独立しています 次に、メンバーメソッドとメンバー変数にアクセスする方法を見てみましょう。

メンバー メソッドの呼び出し

オブジェクトをインスタンス化した後、そのオブジェクトを使用してメンバー メソッドを呼び出すことができます。オブジェクトのメンバー メソッドは、オブジェクトのメンバー変数のみを操作できます。オブジェクト:

$runoob = new Site;
$taobao = new Site;
$google = new Site;
ログイン後にコピー

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

Example

// 调用成员函数,设置标题和URL
$runoob->setTitle( "菜鸟教程" );
$taobao->setTitle( "淘宝" );
$google->setTitle( "Google 搜索" );
$runoob->setUrl( &#39;www.runoob.com&#39; );
$taobao->setUrl( &#39;www.taobao.com&#39; );
$google->setUrl( &#39;www.google.com&#39; );
// 调用成员函数,获取标题和URL
$runoob->getTitle();
$taobao->getTitle();
$google->getTitle();
$runoob->getUrl();
$taobao->getUrl();
$google->getUrl();
ログイン後にコピー

上記のコードを実行すると、出力結果は次のようになります:

菜鸟教程
淘宝
Google 搜索
www.runoob.com
www.taobao.com
www.google.com
ログイン後にコピー

推荐学习:《PHP视频教程

以上がphp oop とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート