Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции все вместе / Lektsii_razdel2.doc
Скачиваний:
4
Добавлен:
20.04.2015
Размер:
795.65 Кб
Скачать

ООП Лекции

http://msdn.microsoft.com/ru-ru/library справочная система на русском языке.

Использование библиотеки классов .NET Framework (Visual C#)

Библиотека классов платформы .NET Framework Framework Class Library, FCL содержит определения типов, например, классов, структур, перечислимых типов, интерфейсов и.т.д. Каждый тип предоставляет некоторую функциональность. Библиотека классов организована в пространства имен (namespace), в каждом из которых находятся связанные классы и структуры. Например, пространство имен System содержит типы для целых чисел, символов, строк, консольного ввода-вывода, форматирования данных, выполнения математических операций и др.

Пространства имен .NET Framework и классы, которые они содержат можно посмотреть с помощью инструментального средства Обозреватель объектов (Object Browser) среды разработки Microsoft Visual Studio. Открыть обозреватель объектов можно через меню Вид.

Значки обозревателя объектов

В Обозревателе объектов отображаются значки, служащие для представления сущностей кода, таких как пространства имен, классы, функции и переменные. В следующей таблице приведены значки с их описанием.

Значок

Описание

Значок

Описание

Namespace – пространство имен

Метод или функция

Класс

Operator

Интерфейс

Свойство

Структура

Поле или переменная

Delegate

Событие

Перечисление

Константа

В обозревателе объектов отображается три области:

  • слева область типов: классов, структур и других (могут быть также названия пространств имен и названия сборок – имен файлов, в которых размещены библиотеки.)

  • область членов типов в верхней правой части

  • область описаний в нижней правой части.

Рис 1. Пример отображения названия сборки в окне обозревателя объектов – имени файла, в котором размещены библиотеки.

Рис 2. Пример отображения названия пространства имен в окне обозревателя объектов.

Типы. Типы значений состоят из двух основных категорий:

  • Структуры. Пример

public struct Book

{

public decimal price;

public string title;

public string author;

}

  • Перечисления. Пример

enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};

Все простые (встроенные) типы — встроенные в язык C# — являются псевдонимами системных типов .NET Framework. Например, int является псевдонимом для System.Int32.

Ссылочные типы

  • class. Пример

class TestClass

{

// Methods, properties, fields, events, delegates

// and nested classes go here.

}

  • interface

  • delegate

  • массивы

Класс (структура) может содержать объявления следующих членов:

  • Конструкторы

  • Константы

  • Поля

  • Методы

  • Свойства

  • Индексаторы

  • Операторы

  • События

Рис 3 Пример отображения названия типов. Класс Console – статический класс пространства имен System в окне обозревателя объектов. В верхней правой части окна обозревателя отображены имена членов типа Console – имена методов и свойств.

Для того чтобы можно было использовать классы или структуры заданного пространства имен в программе на C#, необходимо добавить в код директиву using для этого пространства имен. Например, using System;

Член типа. Свойство . Получение доступа к свойствам.

Свойства можно использовать, как если бы они являлись открытыми членами данных (полями, имеющими тип), хотя в действительности они являются специальными методами, называемыми методами доступа. Метод доступа свойства get используется для возврата значения свойства, а метод доступа set используется для назначения нового значения. Т.е. со свойствами надо работать как с переменными. Статические свойства.

Рис 4. Отображение имени статического свойства Title класса Console в окне Обозревателя объектов.

Пример использования статического свойства Title класса Console.

using System;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

Console.Title = "Мой проект";

}

}

}

Результат

В программе статическому свойству Title класса Console, присваивается строковое значение "Мой проект", так как свойство имеет тип string и у него есть метод доступа set.

Если есть ключевое слово static в определении члена типа, то для доступа к члену типа необходимо указать имя типа, поставить точку и указать имя члена типа. Скобки после имени свойства ставить нельзя – со свойством надо работать как с переменной.

Задание Свойство BackgroundColor класса Console Возвращает или задает цвет фона консоли.

Написать код, демонстрирующий применение свойства.

Ответ

using System;

class Program

{

static void Main()

{

Console.BackgroundColor = ConsoleColor.DarkYellow;

Console.Clear();

}

}

Задание Свойство WindowHeight класса Console Возвращает или задает высоту области окна консоли.

Написать код, демонстрирующий применение свойства.

Какой тип имеет свойство?

Ответ

using System;

class Program

{

static void Main()

{

Console.WindowHeight = 1;

}

}

Тип int

Пример использования свойства в определении, которого нет ключевого слова static.

Посмотрим в обозревателе объектов, какие члены есть у класса string. Найдем не статическое свойство, например Length. (В определении свойства нет ключевого слово static.)

Для доступа к свойству необходимо создать экземпляр класса string.

string f = "ghdh fhfh";

int t = f.Length;

Console.WriteLine(t);

Посмотрим в обозревателе объектов, какие члены есть у структуры DateTime пространства имен System.

Рис. Отображение имени структуры DateTime пространства имен System в окне обозревателя объектов.

В списке членов типа DateTime есть метод имя, которого совпадает с именем типа. Это конструктор с параметрами, с помощью которого можно создать экземпляр структуры и инициализировать поля структуры значениями.

Например

DateTime mydata = new DateTime(2010, 09, 09);

Рис Отображение имени свойства Day структуры DateTime в окне обозревателя объектов.

Пример использования свойства Day в определении, которого нет ключевого слова static.

using System;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

DateTime mydata = new DateTime(2010, 09, 12);

int myday = mydata.Day;

Console.WriteLine(myday);

}

}

}

Так как в определении свойства нет ключевого слова static, то оно относится к экземпляру типа. Поэтому необходимо, сначала создать экземпляр структуры с помощью ключевого слова new, затем получить доступ к свойству указав имя экземпляра типа, точка, имя свойства без круглых скобок. Свойству Day нельзя присвоить значение, так как для него не определен метод доступа set. Можно только получить значение свойства.

Соседние файлы в папке лекции все вместе