0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コンストラクター、デストラクター

Last updated at Posted at 2024-04-29

はじめに

コンストラクター、デストラクターについてまとめる

コンストラクター

インスタンス化のタイミングで実行されるメソッド。
主にプロパティの初期化、外部リソースの初期化などの処理に使われる。

Person.php
class Person
{
    public $firstName;
    public $lastName;

    public function __construct($firstName, $lastName)
    {
        $this->firstName = $firstName;
        $this->lastName = $lastName;
    }

    public function getFullName()
    {
        print "<p>僕の名前は{$this->lastName}{$this->firstName}です。</p>";
    }
}
construct.php
<?php
require_once 'Person.php';

$p = new Person('太郎', '山田');
$p->show(); // 結果:僕の名前は山田太郎です。

デストラクター

オブジェクトを参照するリファレンスがひとつもなくなったときにコールされるメソッド。
クラスの中で使ったリソースを破棄するときなど、主に終了するときの処理に使われる。

Person.php
<?php
class Person
{
    public $firstName;
    public $lastName;

    public function __construct($firstName, $lastName)
    {
        $this->firstName = $firstName;
        $this->lastName = $lastName;
    }

    public function __destruct()
    {
        print '<p>'.__CLASS__.'オブジェクトが破棄されました。</p>';
    
    }

    public function getFullName()
    {
        print "<p>僕の名前は{$this->lastName}{$this->firstName}です。</p>";
    }
}
destruct.php
<?php
require_once 'Person.php';

$p = new Person('太郎', '山田');
$p->show(); 
// 結果:
// 僕の名前は山田太郎です。
// Personオブジェクトは破棄されました。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?