Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Ключевое слово static
В языке С# ключевое слово static объявляют такие члены/функции, которые относятся к уровню класса а не объектов. Для вызова таких членов не обязательно создавать экземпляр класса. < Имя класса>.< Имя члена> Область статических данных для всех экземпляров класса будет общая. Определение статических методов Class students{ Public static Random r=new Random(); Public static int getrandomnumber(short limit){ Return r.Next(limit); } Public static string Complain(){ String[]massage={“Хочу пива”, …} Return massage[getrandomnumber(5)]; } }
Static void main(){ Console.writeline(“static у студента”); For(int i=0; i< s; i++) Console.writeline(Student.Complain()); Console.readline(); }
Метод Complain возвращает случайную строку, при этом переменная член рандом и функция getrandomnumber так же объявлены статитческими в виду ограничения «статические члены могут оперировать только со статическими данными и методами» Определение статических полей и данных Класс может содержать как статические данные, так и обычные данные, которые называются «данные экземпляр». Последние – независимая копия для каждого объекта Class savingaccount { Public double balance; Public static double rate=0.05; Public savingaccount(double balance) { This.balance = balance; } Main() Savingaccount s1=new savingaccount(50); savingaccount s2= new savingaccount (100); savingaccount s3 = new savingaccount (100000);
Друзья класса. Дружественные объявления. С помощью ключевого слова friend можно обозначить так называемый дружественный класс или функцию. Такая функция (или класс) имеет доступ ко всем нестатическим полям и методам класса в котором находится через параметр-объект класса, которому она дружественна. Статические конструкторы Для определения статических данных, можно использовать статический конструктор, в котором необходимо разместить инициализацию значений всех статических данных. Со статическими конструкторами связаны следующие ограничения: · Статический конструктор всегда один(перегрузка недоступна) · Он не имеет параметров и не имеет модификаторов доступа · Статический конструктор вызывается только один раз и всегда гарантированно до создания любого объекта этого класса
|