Извините за неграмотность этого вопроса.Если есть простой ответ, просто ссылка на объяснение сделает меня более чем счастливым.
После 6 месяцев программирования я считаю статические классы несколько полезными для хранения подпрограмм, которые применяются ко многим различным классам.Вот упрощенный пример того, как я использую статические классы, это класс для разбора текста на разные вещи
public static class TextProcessor
{
public static string[] GetWords(string sentence)
{
return sentence.Split(' ');
}
public static int CountLetters(string sentence)
{
return sentence.Length;
}
public static int CountWords(string sentence)
{
return GetWords(sentence).Length;
}
}
И я использую это очевидными способами, как
class Program
{
static void Main(string[] args)
{
string mysentence = "hello there stackoverflow.";
Console.WriteLine("mysentence has {0} words in it, fascinating huh??", TextProcessor.CountWords(mysentence));
Console.ReadLine();
}
}
Мой вопрос:Почему необходимо обернуть эти статические методы в статический класс?Кажется, не имеет смысла.Есть ли способ, которым я могу иметь эти методы самостоятельно, не обернутые в класс?Я знаю, что инкапсуляция полезна, но я не вижу использования статических методов в статическом классе.Есть что-то, что я пропускаю стилистически или иначе?Я полностью лаю на глупое дерево?Я слишком много думаю?