自分はPHPで書きますがC#も一応読めます。
知りたいこと
静的クラスにおいて、下記のどれが良いか
0. メンバ変数を作成しない
- メンバ変数を作成する
- 作成する場合、「メンバ変数にset」と「戻り値からget」のどちらで値を取得すべきか
コードの例
$hogee1,$hogee2,$hogee3はどれも似たような(グループにできる)データです。
コード1
メンバ変数を作成しない=メソッドのみである。
メソッド間のデータの受け渡しは引数を利用する。
getメソッドを利用する。
PHP
1class Hoge 2{ 3 public static function main($url) 4 { 5 $object = Graph::fetch($url); 6 7 $hogee1 = self::getHoge1($object); 8 $hogee2 = self::getHoge2($object); 9 $hogee3 = self::getHoge3($object, $url); 10 11 $foo = $hogee1.$hogee2.$hogee3; 12 13 return $foo; 14 } 15 16 private static function getHoge1($object) { 17 return $object->hogee1 . 'aiueo'; 18 } 19 //private staticなメソッド定義の羅列 20} 21 22$a = Hoge::main('URLデス');
コード2
メンバ変数を作成する。
メソッド間のデータの受け渡しはメンバ変数を利用する。
setメソッドを利用する。(getでreturnでも可)
PHP
1class Hoge 2{ 3 private static $object; 4 private static $url; 5 6 private static $new_object; 7 8 public static function main($url) 9 { 10 11 self::$url = $url; 12 self::$object = Graph::fetch(self::$url); 13 self::setHoge1(); 14 self::setHoge2(); 15 self::setHoge3(); 16 17 $foo = self::$new_object->$hogee1.self::$new_object->$hogee2.self::$new_object->$hogee3; 18 19 return $foo; 20 } 21 22 private static function setHoge1() { 23 self::$new_object->hogee1 = self::$object->hogee1.'aiueo'; 24 } 25 26 //private staticなメソッド定義の羅列 27} 28 29$a = Hoge::main('URLデス'); 30
あなたの回答
tips
プレビュー