Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СОСТАВ КЛАССОВ.doc
Скачиваний:
1
Добавлен:
11.09.2019
Размер:
59.9 Кб
Скачать

1.1Классы и ооп

Объектно-ориентированное программирование и проектирование построено на классах. Любую

программную систему, выстроенную в объектном стиле, можно рассматривать как совокупность классов,

возможно, объединенных в проекты, пространства имен, решения, как это делается при

программировании в Visual Studio .Net.

1.2Синтаксис класса

Ни одна из предыдущих лекций не обходилась без появления классов и обсуждения многих деталей, связанных с ними. Сейчас попробуем сделать некоторые уточнения, подвести итоги и с новых позиций взглянуть на уже знакомые вещи. Начнем с синтаксиса описания класса:

[атрибуты][модификаторы]class имя_класса[:список_родителей]

{тело_класса}

Атрибутам будет посвящена отдельная лекция. Возможными модификаторами в объявлении класса могут быть модификаторы new, abstract, sealed и четыре модификатора доступа, два из которых - private и protected - могут быть заданы только для вложенных классов. Обычно класс имеет атрибут доступа public, являющийся значением по умолчанию.

1.2.1Состав классов

Класс может содержать слудеющие типы:

• Поле - член-переменная, содержащий некоторое значение. В ООП поля называют данными объекта. К полю можно применять несколько модификаторов: static, readonly и const.

• Метод - код, воздействующий на данные объекта (или поля).

• Свойства - методы, которые клиенты класса воспринимают как поля. Это обеспечивает клиентам большую степень абстрагирования.

• Константы — это поле, значение которого изменить нельзя.

• Индексаторы - свойства —позволяют индексировать объекты методами-аксессорами get и set. С помощью индексатора легко проиндексировать объект для установки или получения значений.

• События - код, выполнение которого осуществляется при наступлении некоторого условия.

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

Для задания степени доступа элементов класса используются модификаторы доступа

public элемент доступен вне определения класса и иерархии производных классов

protected элемент невидим за пределами класса, к нему могут обращаться только производные классы.

private элемент недоступен за пределами области видимости определяющего его класса. Поэтому доступа к этим членам нет даже у производных классов.

internal элемент видим только в пределах текущей единицы компиляции. Модификатор доступа internal в плане ограничения доступа является гибридом public и protected, зависимым от местоположения кода.

Модификтор задается для каждого элемента класса

class A

{

public int a ;

public int b;

public int c ;

protected int d ;

protected int e ;

};

1.3Метод Main

У каждого приложения на С# должен быть метод Main, определенный в одном из его классов. Кроме того, этот метод должен быть определен как public и static.

Компилятор С# достаточно «умен», чтобы самостоятельно просмотреть файлы исходного кода и отыскать метод Main. Между тем, этот очень важный метод является точкой входа во все приложения на С#.

Вы можете поместить метод Main в любой класс, но для его размещения рекомендуется создавать специальный класс.

1.3.1Аргументы командной строки

Вы можете обращаться к аргументам командной строки приложения, объявив метод Main как принимающий аргументы типа массива строк.

Затем аргументы могут обрабатываться так же, как любой массив.

using System;

class Сommand_Line

{

public static void Main(string[] args)

foreach (string arg in args)

{

Console. WriteLine( "Аргумент: {0}", arg);

}