PHP学習に伴ってオブジェクト指向やクラス作成についても調べています
前提
調査/学習の過程のクラスでコンストラクタ、ゲッター、セッターを調べていました
例題コードを読み解こうとして以下のようなコードを見ていたんですが
PHP
1class Hoge { 2 private $name = ''; //name(1) 3 public function __construct($name) { //name(2) 4 $this->setName($name); //name(3) 5 } 6 public function setName($name) { //name(4) 7 //受け取り変数の検証 8 $this->name = $name; //name(5)(6) 9 } 10 public function getName() { 11 return $this->name; //name(7) 12 } 13} 14
$name多すぎですorz
質問(1)
やっている事は
・コンストラクタでクラス外から引数$nameを受け取る
・セッターで引数$nameをプロパティ$nameにセットする
・ゲッターでプロパティ$nameを戻り値として渡す
と捉えて間違えていませんでしょうか
質問(2)
(上記質問が正しいと踏まえて)
コードに補足コメントとして番号を振りましたが、
・引数$Nameは(2)(3)(4)
・プロパティ$nameは(1)(5)(7)
・戻り値としての変数は宣言していない(プロパティをそのまま返している)
と解釈して間違えていませんでしょうか
質問(3)
(上記質問が正しいと踏まえて)
PHP
1class Hoge { 2 public $argname ; //宣言不要? 3 private $name = ''; //name(1) 4 public function __construct($argname) { //name(2) 5 $this->setName($argname); //name(3) 6 } 7 8 public function setName($argname) { //name(4) 9 //受取変数検証 10 $this->name = $argname; //name(5)(6) 11 } 12 13 public function getName() { 14 return $this->name; //name(7) 15 } 16} 17
と、意味毎に変数名を分けるのはPHPのコードを書く際のお行儀としておかしい所ありますか?
一つのスレにいくつも質問を書いてすみません
「書いて通ればそれが正義」で突っ走ると、後々矯正不能なゲテモノコード作成者になりそうで基礎段階での確認ばかりをしています
よろしくお願いします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/01 23:20