Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Ключевое слово 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 можно обозначить так называемый дружественный класс или функцию. Такая функция (или класс) имеет доступ ко всем нестатическим полям и методам класса в котором находится через параметр-объект класса, которому она дружественна.
Дружба не наследуется, передается или даруется:
1. Допустим, класс Bicycle - друг класса Cycle. Тогда все потомки Bicycle не будут друзьями Cycle.
2. Если класс Bicycle - друг класса Cycle, а Cycle - друг класса Auto, то Bicycle не будет другом Auto.
3. Дружба односторонняя: Bicycle - друг Cycle, но Cycle не друг Bicycle.

Статические конструкторы

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

Со статическими конструкторами связаны следующие ограничения:

· Статический конструктор всегда один(перегрузка недоступна)

· Он не имеет параметров и не имеет модификаторов доступа

· Статический конструктор вызывается только один раз и всегда гарантированно до создания любого объекта этого класса

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.