クラス定数とは?
状態:-
閲覧数:6,047
投稿日:2010-05-11
更新日:2018-07-14
クラス内で定義する定数
クラスメンバとして、クラス内で定義する定数
・通常「定数」同様、格納出来るのは「スカラー値」のみ
・“定数”なので再定義不可
・プロパティの様に値を省略することはできない
メリット
・定数をパッケージング化することで、定数を階層的に分類することができる
・違う分類で同じ定数名を使うことができる
定義方法
通常定数
・ 「define(定数名, 値)」 - define関数を利用
クラス定数
・クラスにて、「const 定数名 = 値」
・クラス定数は必ずpublicだからアクセス修飾子は付けない
・また、通常定数同様、定数名に「$」は付けない
修飾子指定不可 / スコープ / 所属 / 参照方法 / 継承
修飾子指定不可
「クラス定数」の定義時に「アクセス制限修飾子」や「static修飾子」を指定することはできない
・「クラス定数」は常に「スタティック」で「パブリック」のため
※「定数」の一種
スコープ
「通常の定数」同様、グローバル=無制限(関数の中でもクラスの中でも、どこからでも参照可能)
所属
通常定数
・グローバルに存在する
クラス定数
・クラスに属している
参照方法
クラス外から
・クラス定数はクラスのインスタンスを生成せずに、クラスメンバ(静的メンバ)同様直接参照できる
・クラスプロパティとの違いは値の変更が出来るか出来ないかだけ
クラス名::定数名
クラス内から
self::定数名
継承
クラスを継承した場合
・親クラスと同名の「クラス定数」を定義することができる
Twitter検索結果。「クラス定数」に関する最新ツイート
@nCdLL69EMWR604T 公式がクラス認定に入れる時は定数順な気がしたので
あと俺のスコア順 2023/06/02 00:12
TimerTask のソースコードを読んでいる。
static final で定数をクラス内に書けばいいわけね。なるほどね。 2023/06/01 22:55
真のローグもクリア。使用武器が自由に選べず弱武器も使わなければならない関係上、クラス特性の火傷付与で定数ダメージを稼げるシェフが一番安定した #ローグレガシー2 #NintendoSwitch https://t.co/bNg7SqribI 2023/05/30 22:27


トキシトロンコレクションのDXクラス4体をみんながどう欲しがるかを見てみたくなったよね
G2オレンジジャズも一定数反応は良かった印象だし 2023/05/28 10:56
正直クラスの目立つやつって一定数嫌われるけどこんな少数クラスで嫌われてもなんともねーよなw 2023/05/25 19:02