困っていること
二つの似ているクラスがある場合どのようにリファクタリングしたらいいでしょうか?
Baseを継承しているため、新たに継承させることができません。
またBaseに共通しているメソッドを書いてしまうと、この二つ以外のBaseを継承しているクラスにも反映されてしまします。
ヒント、アドバイスなど頂けませんでしょうか。よろしくお願いします。
PHP
1class Area extends Base 2{ 3 4 protected static $data = array( 5 '0' => '東', 6 '1' => '西' 7 ); 8 9 public static function getData() 10 { 11 return self::$data; 12 } 13 14 public static function getName($code) 15 { 16 $data = self::getData(); 17 return $data[$code]; 18 } 19}
PHP
1<?php 2class Pref extends Base 3{ 4 protected $data = array( 5 '1' => '北海道', 6 '2' => '青森県', 7 '3' => '岩手県', 8 // 省略 9 ); 10 11 public static function getData() 12 { 13 return self::$data; 14 } 15 16 public static function getName($code) { 17 $data = self::getData(); 18 return $data[$code]; 19 } 20} 21
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/15 02:29