Создание объектов в VB.NET
Создав экземпляр класса Random, вы можете пользоваться его методами и свойствами при помощи знакомого "точечного" синтаксиса. Библиотека .NET Framework содержит множество классов; технология IntelliSense всегда напомнит вам, что можно сделать с тем или иным экземпляром класса (рис. 4.1).
Рис. 4.1. Подсказка IntelliSense для класса Random
Например, в отличие от функции Rnd из прежних версий VB вам не придется дополнительно обрабатывать числа от 0 до 1, чтобы получить случайное положительное число в заданном интервале. Вам понадобилось случайное целое от 1 до 6? Воспользуйтесь следующей конструкцией:
Dim aRandomlinstance As New Random() Dim die As Integer die =aRandomInstance.Next(1.6) Console.WriteLine(die)
Примечание
Не используйте класс Random для серьезных криптографических задач, поскольку его алгоритм построения случайных чисел легко взломать. Библиотека .NET Framework велика, и в нее входит генератор случайных чисел, надежный с точки зрения криптографии (конечно, более медленный) – класс RandomNumberGenerator из пространства имен System.Security.Cryptography (пространства имен рассматриваются ниже в этой главе).
Доступ к средствам класса обычно осуществляется через конкретный экземпляр, однако у этого правила имеется исключение. Дело в том, что некоторые возможности реализуются на уровне класса, а не отдельных объектов. В главе 3 мы встречались с классом Math и использованием конструкций Math.PI и Math.Sin() без вызова метода New.
Члены, принадлежащие классу в целом, а не его отдельным экземплярам, называются общими (shared). К общим членам можно обращаться как по имени класса, так и по имени объектной переменной, объявленной с соответствующим типом. Предположим, у вас имеется класс Ваr с общим методом Foo. Метод Foo может быть вызван любым из приведенных ниже способов:
Ваr.Foo() Dim test As Bar test.Foo()
Примечание
В других языках программирования (таких, как С# и Java) общие члены называются статическими (static).