Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы C#.doc
Скачиваний:
58
Добавлен:
10.02.2015
Размер:
430.59 Кб
Скачать

Основы c#. Урок 43. Константы

Константы удобны использовать для величин, которые в программе не меняются. Использование констант позволяет изменить некоторую величину везде в программе за пару секунд - легче изменить значение в одном месте, чем по всей программе.

Константа определяется ключевым словом const. Вот пример:

classMyClass

{

//Объявление константы.

public const int SomeValue=20;

...

}

Обратите внимание, что константы, как и все в C#, определяется в классе.

Часто в программе заводят некоторый вспомогательный класс, главное предназначение которого - это хранение в одном месте всех констант программы. Например, такой класс может выглядеть так:

abstract class Constants

{

public const int SomeValue1=20;

public const int SomeValue2=100;

public const double SomeValue3=0.35;

}

Мы этот класс проеделили как абстрактный (см. урок 19) для того, чтобы нельзя было создавать экземпляры этого класса. Он используется у нас только для хранения констант.

Использовать этот класс можно так:

class App

{

static void Main()

{

double z;

z=Constants.SomeValue2 * Constants.SomeValue3;

Console.WriteLine("z={0}", z); //Выведется 35.

}

}

Основы c#. Урок 44. Модификаторы доступа

Члены класса (поля, методы и т. п.) могут иметь разные модификаторы доступа. Вот они:

Модификатор доступа

Описание

public

Доступность откуда угодно.

private

Доступность только из этого же самого класса (по умолчанию).

protected

Доступность только из этого же самого класса или его потомков.

internal

Доступность из любого класса той же программы.

protected internal

Доступность или из любого класса той же программы или из этого же самого класса или его потомков (т. е.или как protected или как internal)

Модификаторы доступа пишутся первыми - перед всеми другими коючевыми словами (например, типом переменной). Модификатор static может стоять как перед модификатором доступа, так и после:

...

static public int a;

public static int b;

...

В отличие от C/C++ модификаторы доступа пишутся для любого члена класса (как в Java):

class SomeClass

{

//Правильно.

public void f1()

{

//...

}

public void f2()

{

//...

}

...

Основы c#. Урок 45. Ссылка на текущий экземпляр класса (this)

Ссылка на текущий экземпляр класса делается через ключевое слово this. Вот традиционный пример:

class SomeClass

{

public int a;

SomeClass(int a)

{

this.a=a;

}

}

В этом примере у нас и переменная класса, и параметр метода названы одинаково - a. Для уточнения, что мы используем именно переменную класса, а не параметр метода, и служит слово this.

В C++ же для избегания конфликта имен обычно к переменной класса прибывлялся префикс m_.

Еще одна возможность по использованию ключевого слова this - это вызов одного конструктора из другого. Вот пример:

class SomeClass

{

public int a;

public int b;

//Конструктор с 2-я параметрами.

public SomeClass(int a, int b)

{

this.a=a;

this.b=b;

}

//Конструктор без параметров,

//вызывающий конструктор с 2-я параметрами.

public SomeClass():this(1, 1)

{

}

}

//Тестовый класс.

classApp

{

static void Main()

{

SomeClass s=new SomeClass();

Console.WriteLine("a={0}, b={0}", s.a, s.b);

}

}

Здесь в классе SomeClass два конструктора. Второй конструктор (без параметров) вызывает первый (передавая в него значения 1 и 1):

...

public SomeClass():this(1, 1)

...

Указанный фрагмент выведет, разумеется, a=1, b=1.