オブジェクトは現実世界の実体です。オブジェクトは、PHP などのオブジェクト指向プログラミングのクラスから定義されます。クラスが定義されると、そのクラスから多くのオブジェクトを作成できます。クラス カーの例が定義されている場合、メルセデス、BMW、シュコダはすべてクラス カーのオブジェクトです。クラスはオブジェクトの設計図です。クラスには変数と関数が含まれます。これらのデータ変数はプロパティと呼ばれ、データ関数はデータ メソッドと呼ばれます。
広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
オブジェクトの定義は次のようになります。オブジェクトはクラスのインスタンスです。 new キーワードを使用してクラスのインスタンスを作成できます。クラスの複数のインスタンスを作成できます。これらのインスタンスは、クラス関数、クラス メンバーにアクセスできるようになりました。
オブジェクトの作成は、クラスのインスタンス化と同じです。このインスタンスは new キーワードを使用して作成されます。このプロセスはインスタンス化と呼ばれます。 オブジェクトはクラスのインスタンスであり、新しいキーワードを使用して作成できるため、これらのインスタンスがどのように作成されるかを見てみましょう。
構文:
objectname = new Classname();
例:
$parrot = new Bird(); $pigeon = new Bird(); $woodpecker = new Bird();
上記は、Bird クラスの 3 つの異なるオブジェクトです。これらのオブジェクトを使用すると、Bird クラスのプロパティと関数にアクセスできます。
新しいキーワードとは何ですか?
クラスをインスタンス化すると、実際にはクラスのオブジェクトが作成されます。オブジェクトを作成するには、新しいキーワードを使用することが不可欠です。クラスでコンストラクターを使用している場合、オブジェクトが new キーワードを使用して初期化されるときに、コンストラクターが自動的に呼び出されます。
プロパティはクラス内で定義される変数です。これらの変数は、クラスのメソッドやオブジェクトによって使用されます。これらの変数は、パブリック、プロテクト、またはプライベートにすることができます。デフォルトでは、パブリックが使用されます。変数の値にはデフォルト値が含まれる場合と含まれない場合があります。これは、変数が値で初期化されるかどうかを意味します。
変数名では大文字と小文字が区別されます。つまり、$name は $Name とは異なります。 変数に複数の単語が含まれる場合、$firstName、$lastName などのように 2 番目の単語が大文字で始まるなどの命名規則があります。
プロパティを理解するために、以下のプログラムを見てみましょう。
class Birds { public $birdsFly = 'sky'; public $birdsSound = 'vocal'; public $birdsBuildNests = 'trees'; }
次のプログラムは、クラス Bird の宣言方法と、鳥のハエが音を立てて巣を作るなどのプロパティ、および鳥の動作に関するメソッドを説明します。
コード:
<?php //example to access properties of a class class Birds { // properties public $birdsFly = 'sky'; public $birdsSound = 'vocal'; public $birdsBuildNests = 'trees'; //methods public function birdDoes() { echo 'Bird'; } } //object of class is declared $obj = new Birds(); //properties of class Bird are accessed using object echo '<br> Bird Flies = '.$obj->birdsFly; echo '<br> Bird Makes Sound = '.$obj->birdsSound; echo '<br> Bird Build Nests = '.$obj->birdsBuildNests; ?>
出力:
クラスのプロパティとして、クラス内にメンバー関数を定義できます。これらの関数はオブジェクトから呼び出すことができます。これらの関数はクラスのメソッドとして呼び出されます。これらの関数はパブリック、プライベート、または保護することができます。デフォルトではパブリックです。また、関数を宣言するときに、
として宣言します。構文:
public function functionaname() { //statements }
例:
class Bird { public function makesSound() { // statements } public function looksForFood() { // statements } } $obj = new Bird; echo $bird->makesSound(); echo $bird->looksForFood();
コード:
<?php //example to access methods of a class class Birds { // properties public $birdsFly; public $birdsBuildNests; //method 1 - set Method1 public function set_birdFlies($input) { $this->birdsFly = $input ; } //method 1 - get Method1 public function get_birdFlies() { return $this->birdsFly; } //method 2 - set Method2 public function set_BirdBuildsNest($input) { $this->birdsBuildNests = $input ; } //method 2 - get Method2 public function get_BirdBuildsNest() { return $this->birdsBuildNests; } } //object of class is declared $obj = new Birds(); $obj->set_birdFlies('Fly'); echo '<br> Bird Flies = '.$obj->get_birdFlies(); $obj->set_BirdBuildsNest('Trees'); echo '<br> Bird Builds Nest = '.$obj->get_BirdBuildsNest();?>
出力:
コンストラクターは特別なメソッドです。新しいオブジェクトが作成されると、このメソッドが自動的に呼び出されます。オブジェクトからメソッドを明示的に呼び出す必要はありません。
構文:
__construct();// double underscores are used.
2 つのクラスがあり、1 つは基本クラスで、もう 1 つは派生クラスであるとします。派生クラスが独自のコンストラクターを持たず、基本クラスのコンストラクターを継承したい場合は、次の構文で宣言する必要があります:
構文:
parent::__construct();
コード:
<?php //example to use constructor in a class class Birds { // properties public $makesSound; // the constructor is called when object is created public function __construct($input) { $this->makesSound = $input; echo 'Bird makes Sound: '.$this->makesSound; } } //object of class is declared $obj = new Birds('Vocal'); ?>
出力:
以下のプログラムでは、オブジェクトが内部的にオブジェクトを作成することによって基本クラスのコンストラクターを呼び出す方法がわかります。継承が使用されているため、parent:: __construct() を使用して基本クラスのコンストラクターを呼び出すことができます。
コード:
<?php //example to use constructor and object of a class class Birds { // properties public $bird_flies='sky'; // the constructor is called when object is created public function __construct() { echo 'In the Base Class Constructor'; } } class EagleBird extends Birds { function __construct() { parent::__construct(); } public function BirdDoes() { return $this->bird_flies; } } //object of class is declared $obj = new EagleBird(); echo '<br> Method : ' .$obj->BirdDoes(); ?>
出力:
この記事では、オブジェクト指向プログラミングにおけるオブジェクトとは何か、オブジェクトの作成方法、その構文、特定のプログラムでオブジェクトを使用する方法について説明します。また、PHP でオブジェクトのプロパティとメソッドを宣言して使用する方法、PHP でコンストラクターを使用する方法も説明します。この記事には、質問を解決し、概念をよく理解するのに役立つプログラムが含まれています。
以上がPHPのオブジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。