VB.NET, классы и модули против функций - PullRequest
2 голосов
/ 23 августа 2011

Я недавно начал изучать VB.NET и прочитал 1 пошаговую книгу для начинающих, и теперь я перехожу к книге Advanced, и оба не смогли по-настоящему объяснить смысл модулей и классов.

Являются ли модули и классы просто способами организации функций и подпроцедур?

например. Класс с именем MyMathClass, содержащий 100 различных математических функций, будет легче просматривать по сравнению с файлом со 100 несвязанными функциями.

Ответы [ 2 ]

4 голосов
/ 23 августа 2011

Модули являются остатками VB6. Требуется для совместимости, нет смысла использовать их, когда вы программируете с нуля. Самая большая проблема с ними заключается в том, что они загрязняют глобальное пространство имен. Сначала это может быть хорошо, но очень плохо масштабируется. Тем не менее, они все еще используются для создания методов расширения, поэтому их добавление в глобальное пространство имен является желаемым эффектом.

Гроккинговые классы требуют понимания объектно-ориентированного программирования. Это не может вписаться в SO сообщение, есть много вводных книг, которые помогут вам в этом.

0 голосов
/ 23 августа 2011

Я бы согласился с Тимом Шмельтером. Несмотря на то, что по-прежнему используются модули для методов расширения, поскольку вы изучаете принципы ООП, продолжайте использовать классы. С классами вы действительно можете воспользоваться 3 столпами ООП (инкапсуляция, наследование и полиморфизм), не думая о модулях, которые могут добавить путаницу на этом этапе обучения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...