🗊Презентация Классы в языке программирования C#. (Лекция 4)

Нажмите для полного просмотра!
Классы в языке программирования C#. (Лекция 4), слайд №1Классы в языке программирования C#. (Лекция 4), слайд №2Классы в языке программирования C#. (Лекция 4), слайд №3Классы в языке программирования C#. (Лекция 4), слайд №4Классы в языке программирования C#. (Лекция 4), слайд №5Классы в языке программирования C#. (Лекция 4), слайд №6Классы в языке программирования C#. (Лекция 4), слайд №7Классы в языке программирования C#. (Лекция 4), слайд №8Классы в языке программирования C#. (Лекция 4), слайд №9Классы в языке программирования C#. (Лекция 4), слайд №10Классы в языке программирования C#. (Лекция 4), слайд №11Классы в языке программирования C#. (Лекция 4), слайд №12Классы в языке программирования C#. (Лекция 4), слайд №13Классы в языке программирования C#. (Лекция 4), слайд №14Классы в языке программирования C#. (Лекция 4), слайд №15Классы в языке программирования C#. (Лекция 4), слайд №16Классы в языке программирования C#. (Лекция 4), слайд №17Классы в языке программирования C#. (Лекция 4), слайд №18

Вы можете ознакомиться и скачать презентацию на тему Классы в языке программирования C#. (Лекция 4). Доклад-сообщение содержит 18 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Классы в C#
Описание слайда:
Классы в C#

Слайд 2





Две роли классов
Описание слайда:
Две роли классов

Слайд 3


Классы в языке программирования C#. (Лекция 4), слайд №3
Описание слайда:

Слайд 4





Синтаксис класса в С#

[атрибуты][модификаторы]class имя_класса[:список_родителей]
{тело_класса}
Выделяют следующие модификаторы области видимости:
public (открытый) – компонент доступен отовсюду, в том числе из других классов и из других сборок;
protected (защищенный) – компонент доступен из класса, которому он принадлежит и из классов, производных от данного;
private (закрытый) – компонент доступен только из класса, которому он принадлежит;
internal (внутренний) – компонент доступен только из классов, принадлежащих сборке, в которой определен данный класс (в том числе и самому классу).
Описание слайда:
Синтаксис класса в С# [атрибуты][модификаторы]class имя_класса[:список_родителей] {тело_класса} Выделяют следующие модификаторы области видимости: public (открытый) – компонент доступен отовсюду, в том числе из других классов и из других сборок; protected (защищенный) – компонент доступен из класса, которому он принадлежит и из классов, производных от данного; private (закрытый) – компонент доступен только из класса, которому он принадлежит; internal (внутренний) – компонент доступен только из классов, принадлежащих сборке, в которой определен данный класс (в том числе и самому классу).

Слайд 5





Обычно класс имеет атрибут доступа public, являющийся значением по умолчанию. Так что в простых случаях объявление класса выглядит так:
Обычно класс имеет атрибут доступа public, являющийся значением по умолчанию. Так что в простых случаях объявление класса выглядит так:
public class Rational {тело_класса}
В теле класса могут быть объявлены:
константы;
поля;
конструкторы и деструкторы;
методы;
события;
делегаты;
классы (структуры, интерфейсы, перечисления).
Описание слайда:
Обычно класс имеет атрибут доступа public, являющийся значением по умолчанию. Так что в простых случаях объявление класса выглядит так: Обычно класс имеет атрибут доступа public, являющийся значением по умолчанию. Так что в простых случаях объявление класса выглядит так: public class Rational {тело_класса} В теле класса могут быть объявлены: константы; поля; конструкторы и деструкторы; методы; события; делегаты; классы (структуры, интерфейсы, перечисления).

Слайд 6





Поля класса
Поля класса синтаксически являются обычными переменными (объектами) языка Их описание удовлетворяет обычным правилам объявления переменных. Содержательно поля задают представление той самой абстракции данных, которую реализует класс. Поля характеризуют свойства объектов класса. 
Каждое поле имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal. Атрибутом доступа по умолчанию является атрибут private.
Описание слайда:
Поля класса Поля класса синтаксически являются обычными переменными (объектами) языка Их описание удовлетворяет обычным правилам объявления переменных. Содержательно поля задают представление той самой абстракции данных, которую реализует класс. Поля характеризуют свойства объектов класса. Каждое поле имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal. Атрибутом доступа по умолчанию является атрибут private.

Слайд 7





Методы класса
			Методы класса синтаксически являются обычными процедурами и функциями языка. Их описание удовлетворяет обычным правилам объявления процедур и функций. Содержательно методы определяют ту самую абстракцию данных, которую реализует класс. Методы описывают операции, доступные над объектами класса. Два объекта одного класса имеют один и тот же набор методов.
Описание слайда:
Методы класса Методы класса синтаксически являются обычными процедурами и функциями языка. Их описание удовлетворяет обычным правилам объявления процедур и функций. Содержательно методы определяют ту самую абстракцию данных, которую реализует класс. Методы описывают операции, доступные над объектами класса. Два объекта одного класса имеют один и тот же набор методов.

Слайд 8


Классы в языке программирования C#. (Лекция 4), слайд №8
Описание слайда:

Слайд 9





Доступ к методам
Каждый метод имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal. Атрибутом доступа по умолчанию является атрибут private. 
Как правило, у класса есть открытые методы, задающие интерфейс класса, и закрытые методы. Интерфейс – это лицо класса, именно он определяет, чем класс интересен своим клиентам, что он может делать, какие сервисы предоставляет клиентам. Закрытые методы составляют важную часть класса, позволяя клиентам класса не вникать во многие детали реализации класса. Эти методы клиентам класса недоступны, они о них могут ничего не знать, и, самое главное, изменения в закрытых методах класса никак не отражаются на клиентах класса при условии корректной работы открытых методов класса.
Описание слайда:
Доступ к методам Каждый метод имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal. Атрибутом доступа по умолчанию является атрибут private. Как правило, у класса есть открытые методы, задающие интерфейс класса, и закрытые методы. Интерфейс – это лицо класса, именно он определяет, чем класс интересен своим клиентам, что он может делать, какие сервисы предоставляет клиентам. Закрытые методы составляют важную часть класса, позволяя клиентам класса не вникать во многие детали реализации класса. Эти методы клиентам класса недоступны, они о них могут ничего не знать, и, самое главное, изменения в закрытых методах класса никак не отражаются на клиентах класса при условии корректной работы открытых методов класса.

Слайд 10





Методы-свойства
Методы, называемые свойствами (Properties), представляют специальную синтаксическую конструкцию, предназначенную для обеспечения эффективной работы со свойствами. При работе со свойствами объекта (полями) часто нужно решить, какой модификатор доступа использовать, чтобы реализовать нужную стратегию доступа к полю класса. Перечислю пять наиболее употребительных стратегий:
чтение, запись (Read, Write);
чтение, запись при первом обращении (Read, Write-once);
только чтение (Read-only);
только запись (Write-only);
ни чтения, ни записи (Not Read, Not Write).
Открытость свойств (атрибут public) позволяет реализовать только первую стратегию. В языке C# принято, как и в других объектных языках, свойства объявлять закрытыми, а нужную стратегию доступа организовать через методы. Для эффективности этого процесса и введены специальные методы-свойства.
Описание слайда:
Методы-свойства Методы, называемые свойствами (Properties), представляют специальную синтаксическую конструкцию, предназначенную для обеспечения эффективной работы со свойствами. При работе со свойствами объекта (полями) часто нужно решить, какой модификатор доступа использовать, чтобы реализовать нужную стратегию доступа к полю класса. Перечислю пять наиболее употребительных стратегий: чтение, запись (Read, Write); чтение, запись при первом обращении (Read, Write-once); только чтение (Read-only); только запись (Write-only); ни чтения, ни записи (Not Read, Not Write). Открытость свойств (атрибут public) позволяет реализовать только первую стратегию. В языке C# принято, как и в других объектных языках, свойства объявлять закрытыми, а нужную стратегию доступа организовать через методы. Для эффективности этого процесса и введены специальные методы-свойства.

Слайд 11





Пример. Рассмотрим класс Person, у которого пять полей: fam, status, salary, age, health, характеризующих фамилию, статус, зарплату, возраст и здоровье персоны. Для каждого из этих полей может быть разумной своя стратегия доступа. Возраст доступен для чтения и записи, фамилию можно задать только один раз, статус можно только читать, зарплата недоступна для чтения, а здоровье закрыто для доступа, только специальные методы класса могут сообщать некоторую информацию о здоровье персоны. 
Пример. Рассмотрим класс Person, у которого пять полей: fam, status, salary, age, health, характеризующих фамилию, статус, зарплату, возраст и здоровье персоны. Для каждого из этих полей может быть разумной своя стратегия доступа. Возраст доступен для чтения и записи, фамилию можно задать только один раз, статус можно только читать, зарплата недоступна для чтения, а здоровье закрыто для доступа, только специальные методы класса могут сообщать некоторую информацию о здоровье персоны.
Описание слайда:
Пример. Рассмотрим класс Person, у которого пять полей: fam, status, salary, age, health, характеризующих фамилию, статус, зарплату, возраст и здоровье персоны. Для каждого из этих полей может быть разумной своя стратегия доступа. Возраст доступен для чтения и записи, фамилию можно задать только один раз, статус можно только читать, зарплата недоступна для чтения, а здоровье закрыто для доступа, только специальные методы класса могут сообщать некоторую информацию о здоровье персоны. Пример. Рассмотрим класс Person, у которого пять полей: fam, status, salary, age, health, характеризующих фамилию, статус, зарплату, возраст и здоровье персоны. Для каждого из этих полей может быть разумной своя стратегия доступа. Возраст доступен для чтения и записи, фамилию можно задать только один раз, статус можно только читать, зарплата недоступна для чтения, а здоровье закрыто для доступа, только специальные методы класса могут сообщать некоторую информацию о здоровье персоны.

Слайд 12


Классы в языке программирования C#. (Лекция 4), слайд №12
Описание слайда:

Слайд 13


Классы в языке программирования C#. (Лекция 4), слайд №13
Описание слайда:

Слайд 14


Классы в языке программирования C#. (Лекция 4), слайд №14
Описание слайда:

Слайд 15


Классы в языке программирования C#. (Лекция 4), слайд №15
Описание слайда:

Слайд 16





Статические поля и методы класса
Ранее говорилось, что когда конструктор класса создает новый объект, то в памяти создается структура данных с полями, определяемыми классом. Уточним теперь это описание. Не все поля отражаются в структуре объекта. У класса могут быть поля, связанные не с объектами, а с самим классом. Эти поля объявляются как статические с модификатором static. Статические поля доступны всем методам класса. Независимо от того, какой объект вызвал метод, используются одни и те же статические поля, позволяя методу использовать информацию созданную другими объектами класса. Статические поля представляют общий информационный пул для всех объектов классов, позволяя извлекать и создавать общую информацию. Например, у класса Person может быть статическое поле message, в котором каждый объект может оставить сообщение для других объектов класса.
Аналогично полям у класса могут быть и статические методы, объявленные с модификатором static. Такие методы не используют информацию о свойствах конкретных объектов класса, они обрабатывают общую для класса информацию, хранящуюся в статических полях класса
Описание слайда:
Статические поля и методы класса Ранее говорилось, что когда конструктор класса создает новый объект, то в памяти создается структура данных с полями, определяемыми классом. Уточним теперь это описание. Не все поля отражаются в структуре объекта. У класса могут быть поля, связанные не с объектами, а с самим классом. Эти поля объявляются как статические с модификатором static. Статические поля доступны всем методам класса. Независимо от того, какой объект вызвал метод, используются одни и те же статические поля, позволяя методу использовать информацию созданную другими объектами класса. Статические поля представляют общий информационный пул для всех объектов классов, позволяя извлекать и создавать общую информацию. Например, у класса Person может быть статическое поле message, в котором каждый объект может оставить сообщение для других объектов класса. Аналогично полям у класса могут быть и статические методы, объявленные с модификатором static. Такие методы не используют информацию о свойствах конкретных объектов класса, они обрабатывают общую для класса информацию, хранящуюся в статических полях класса

Слайд 17





Конструкторы класса
Конструктор неотъемлемый компонент класса. Нет классов без конструкторов. Конструктор представляет собой специальный метод класса, позволяющий создавать объекты класса. Одна из синтаксических особенностей этого метода в том, что его имя должно совпадать с именем класса. Если программист не определяет конструктор класса, то к классу автоматически добавляется конструктор по умолчанию – конструктор без аргументов. Заметьте, если программист сам создает один или несколько конструкторов, то автоматического добавления конструктора без аргументов не происходит.
Как и когда происходит создание объектов? Чаще всего, при объявлении сущности в момент ее инициализации.
Давайте обратимся к нашему последнему примеру и рассмотрим создание трех объектов класса Person:
Person pers1 = new Person(), pers2 = new Person();
Person pers3= new Person("Петрова");
Описание слайда:
Конструкторы класса Конструктор неотъемлемый компонент класса. Нет классов без конструкторов. Конструктор представляет собой специальный метод класса, позволяющий создавать объекты класса. Одна из синтаксических особенностей этого метода в том, что его имя должно совпадать с именем класса. Если программист не определяет конструктор класса, то к классу автоматически добавляется конструктор по умолчанию – конструктор без аргументов. Заметьте, если программист сам создает один или несколько конструкторов, то автоматического добавления конструктора без аргументов не происходит. Как и когда происходит создание объектов? Чаще всего, при объявлении сущности в момент ее инициализации. Давайте обратимся к нашему последнему примеру и рассмотрим создание трех объектов класса Person: Person pers1 = new Person(), pers2 = new Person(); Person pers3= new Person("Петрова");

Слайд 18





Деструкторы класса
Если задача создания объектов полностью возлагается на программиста, то задача удаления объектов, после того, как они стали не нужными, в Visual Studio .Net снята с программиста и возложена на соответствующий инструментарий – сборщик мусора. В классическом варианте языка C++ деструктор также необходим классу, как и конструктор. В языке C# y класса может быть деструктор, но он не занимается удалением объектов и не вызывается нормальным образом в ходе выполнения программы. Также как и статический конструктор, деструктор класса, если он есть, вызывается автоматически в процессе сборки мусора. Его роль в освобождении ресурсов, например файлов, открытых объектом. Деструктор C# фактически является финализатором (finalizer), с которыми мы еще встретимся при обсуждении исключительных ситуаций. Приведу формальное описание деструктора класса Person:
~Person()
		{
			//Код деструктора
		}
Имя деструктора строится из имени класса с предшествующим ему символом ~ (тильда). Как и у статического конструктора, у деструктора не указывается модификатор доступа.
Описание слайда:
Деструкторы класса Если задача создания объектов полностью возлагается на программиста, то задача удаления объектов, после того, как они стали не нужными, в Visual Studio .Net снята с программиста и возложена на соответствующий инструментарий – сборщик мусора. В классическом варианте языка C++ деструктор также необходим классу, как и конструктор. В языке C# y класса может быть деструктор, но он не занимается удалением объектов и не вызывается нормальным образом в ходе выполнения программы. Также как и статический конструктор, деструктор класса, если он есть, вызывается автоматически в процессе сборки мусора. Его роль в освобождении ресурсов, например файлов, открытых объектом. Деструктор C# фактически является финализатором (finalizer), с которыми мы еще встретимся при обсуждении исключительных ситуаций. Приведу формальное описание деструктора класса Person: ~Person() { //Код деструктора } Имя деструктора строится из имени класса с предшествующим ему символом ~ (тильда). Как и у статического конструктора, у деструктора не указывается модификатор доступа.



Похожие презентации
Mypresentation.ru
Загрузить презентацию