Web言語のお勉強~ど素人が往く~

かつてVB6を1年くらい触った事があるだけのど素人がWeb言語に挑戦します。勉強結果を随時発表します。

PHPのお勉強「クラスのプロパティ」


クラスのプロパティ

今日もPHPマニュアルから勉強させてもらいます。

http://www.php.net/manual/ja/language.oop5.properties.php

一部引用させてもらいます。

プロパティ

クラスのメンバ変数のことを「プロパティ」といいます。
それ以外に「属性」「フィールド」などという呼びかたを見たことがあるかもしれません。
しかし、このマニュアルでは「プロパティ」と呼ぶことにします。
プロパティを定義するには public、protected あるいは private のいずれかのキーワードのあとに通常の変数の宣言を続けます。
宣言時に初期値を設定することもできますが、初期値は定数値でなければなりません。


クラスメソッドから静的でないプロパティにアクセスするには -> (オブジェクト演算子) を使って
$this->property のようにします (property のところにプロパティ名を指定します)。
静的なプロパティへのアクセスには :: (ダブルコロン) を使って self::$property のようにします。

クラスのメンバ変数の事をプロパティと呼んでいますが、要はクラス変数という事ですよね?きっと。
それでいてpublicかprotectedで宣言しないと、外部からはアクセスできないプロパティになると。
クラスメソッド内部からプロパティにアクセスする時の「->」と「::」の使い分けが難しいですね・・・。
慣れるまでしばらくかかりそうです(^^;

本日のプログラミング

14:38 プログラミング開始!

・・・

14:44 でけた!

6分で完了!

動作画面

f:id:MoneyReport:20140309144940p:plain

ソースコード

<?php
class TestClass
{
    // プロパティ
    public $var = 'こちらは親クラスの関数';
    public static $int;

    // 関数宣言
    public function DisplayThisVar()
    {
        // 静的でないプロパティへのアクセス
        echo $this->var;
        
        // 静的なプロパティへのアクセス
        echo '<br />';
        $this::$int = 123456;
        echo $this::$int;
    }
}

// クラスのインスタンス作成
$testClass = new TestClass();
    
// 継承クラスの関数呼び出し
$testClass->DisplayThisVar();
?>

どうでしょうか?
static変数に後から値をセットするくだりは間違っている様な気はしますが・・・。
まぁとりあえず完成で(^^;

そうそう、メインブログで本日スターを大募集中です!
ぜひ立ち寄ったついでに、スターをポチリと押していってくれると嬉しいです♪
今日は夢がかなう日。スターが降る日曜日(*^-^*)/~私にスターを下さい!~ - マネー報道 MoneyReport