{category}

PHP - 複合型

object

オブジェクト(データ型と型操作

意味 データと機能をまとめた構造


objectとは?

objectは、データ(プロパティ)と機能(メソッド)をひとまとめにした複合データ型です。クラスから生成され、現実世界の物事をプログラム内で表現するのに適しています。

objectの具体的な使い方

基本的なオブジェクトの使用

class Car {
    public $color;
    public $brand;
    
    public function __construct($color, $brand) {
        $this->color = $color;
        $this->brand = $brand;
    }
    
    public function getInfo() {
        return "この{$this->brand}の車の色は{$this->color}です。";
    }
    
    public function honk() {
        return "ビープ! {$this->brand}がクラクションを鳴らしました。";
    }
}

$myCar = new Car('赤', 'トヨタ');
echo $myCar->getInfo() . "\n";
echo $myCar->honk() . "\n";

$friendsCar = new Car('青', 'ホンダ');
echo $friendsCar->getInfo() . "\n";
echo $friendsCar->honk();

👇出力結果

このトヨタの車の色は赤です。
ビープ! トヨタがクラクションを鳴らしました。
このホンダの車の色は青です。
ビープ! ホンダがクラクションを鳴らしました。

この例では、Carクラスを定義し、colorとbrandのプロパティ、getInfoとhonkのメソッドを持たせています。コンストラクタを使用して初期化し、2つの異なるCarオブジェクトを作成して操作しています。

オブジェクトの継承

class Vehicle {
    protected $type;
    
    public function __construct($type) {
        $this->type = $type;
    }
    
    public function getType() {
        return $this->type;
    }
}

class Car extends Vehicle {
    private $brand;
    
    public function __construct($brand) {
        parent::__construct('自動車');
        $this->brand = $brand;
    }
    
    public function getBrand() {
        return $this->brand;
    }
    
    public function getInfo() {
        return "これは{$this->getType()}の{$this->brand}です。";
    }
}

$myCar = new Car('トヨタ');
echo $myCar->getInfo();

👇出力結果

これは自動車のトヨタです。

この例では、Vehicleクラスとそれを継承したCarクラスを定義しています。継承を使用することで、共通の機能を親クラスに持たせつつ、子クラスで特有の機能を追加しています。

objectに関するよくある質問

Q. オブジェクトとクラスの違いは?
A. クラスはオブジェクトの設計図や型のようなものです。オブジェクトはクラスから生成された実体で、実際にメモリ上に存在し、操作できるものです。
Q. プロパティとメソッドの違いは?
A. プロパティはオブジェクトが持つデータ(変数)で、メソッドはオブジェクトが持つ機能(関数)です。プロパティは状態を表し、メソッドは行動を表します。
Q. newキーワードの役割は?
A. newキーワードは、クラスからオブジェクトを生成(インスタンス化)するために使用します。new Classname() の形で、新しいオブジェクトを作成できます。

objectが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのobjectや: string、empty()、integer、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

: string

文字列型の指定

種類: 型宣言

empty()

変数が空かどうかの確認

種類: 型チェック

integer

整数を表すデータ型

種類: スカラー型

Memcached

分散メモリオブジェクトキャッシュ

種類: パフォーマンス最適化

array_filter()

配列の要素を条件で絞り込む

種類: 配列関数