比較的単純な質問があります。Google には多くの投稿がありますが、単純に質問に答える投稿が 1 つも見つかりません。
したがって、短い質問は、「1 つのクラスに静的メソッドと非静的メソッドを混在させることは許容されますか?」です。私は本当に「1 つのタイプの方法に固執するのは良い習慣ですか」、または「両方を使用する場合に考慮すべき点はありますか」と尋ねていると思います。
たとえば、冷蔵庫内の食品に対処するクラスを作成する場合、次のうちどれ (または他のもの) が最適なアプローチになりますか?
例 1:
Class Food
{
public function __construct( $itemName, $itemDescription )
{
.... some code for a new item of food ....
}
public static function getAllFood()
{
.... some code to get all the items in my fridge ....
}
}
$food = new Food( "apple", "Nice juicy Pink Lady apple" );
Food::getAllFood();
または例 2:
Class Food
{
public function __construct( $itemName, $itemDescription )
{
.... some code for a new item of food ....
}
public function getAllFood()
{
.... some code to get all the items in my fridge ....
}
}
$food = new Food( "apple", "Nice juicy Pink Lady apple" );
$food->getAllFood();
前もって感謝します