Ive унаследовал некоторый код, который является обычным классом с некоторыми частными статическими методами в них. Код (псевдокод) выглядит следующим образомКогда имеет смысл использовать частные статические методы в классе экземпляра
public class Animal
{
private string typeOfAnimal;
public Animal(string typeOfAnimal)
{
this.typeOfAnimal = typeOfAnimal;
}
public void MakeSound()
{
var sound = Animal.GetSound(typeOfAnimal);
// Make use of sound here
}
private static string GetSound(string typeOfAnimal)
{
if(typeOfAnimal == "dog")
return "bark";
else if(typeOfAnimal == "cat")
return "mjau";
}
}
Есть ли польза в этом, как это делает по сравнению с GetSound регулярного метода экземпляра?
Одна вещи, статические методы могут сделать что методы экземпляра не может это быть призваны поставить параметры в конструктор базового класса или пересылаются конструкторы. – Kyle