Лекция8(dot net).ppt
- Количество слайдов: 15
Microsoft Visual C#. NET Тема лекции: Visual C#. NET Введение в платформу. NET. Основы синтаксиса языка C#. NET. Лекцию ведет: Виденин Сергей Александрович Microsoft Visual Basic. NET
Архитектура. NET Framework Microsoft Visual Basic. NET C++ C# Microsoft JScript® … Framework Class Library Common Language Runtime Windows Visual Studio®. NET Common Language Specification LINUX 2
Языки Visual Studio. NET § VB. NET § C# § C++ § Managed § Unmanaged § J# § JScript. NET § … 3
Классы и ООП Объектно-ориентированное программирование и проектирование построено на классах. Любую программную систему, выстроенную в объектном стиле, можно рассматривать как совокупность классов, возможно, объединенных в проекты, пространства имен, решения, как это делается при программировании в Visual Studio. Net. 4
Две роли классов У класса две различные роли: модуля и типа данных. Класс - это модуль, архитектурная единица построения программной системы. Модульность построения - основное свойство программных систем. В ООП программная система, строящаяся по модульному принципу, состоит из классов, являющихся основным видом модуля. Класс - это тип данных, задающий реализацию некоторой абстракции данных, характерной для задачи, в интересах которой создается программная система. 5
Классы и ООП В хорошо спроектированной ОО-системе каждый класс играет обе роли, так что каждый модуль нашей системы имеет вполне определенную смысловую нагрузку. Типичная ошибка - рассматривать класс только как архитектурную единицу, объединяя под обложкой класса разнородные поля и функции, после чего становится неясным, какой же тип данных задает этот класс. 6
Синтаксис класса [атрибуты] [модификаторы] class имя_класса[: список_родителей] {тело_класса} Обычно класс имеет атрибут доступа public, являющийся значением по умолчанию. Так что в простых случаях объявление класса выглядит так: public class Rational {тело_класса} 7
Поля класса синтаксически являются обычными переменными (объектами) языка. Их описание удовлетворяет обычным правилам объявления переменных Поля характеризуют свойства объектов класса. 8
Доступ к полям Каждое поле имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal. Атрибутом доступа по умолчанию является атрибут private. 9
Методы класса синтаксически являются обычными процедурами и функциями языка. Их описание удовлетворяет обычным правилам объявления процедур и функций Методы содержат описания операций, доступных над объектами класса 10
Доступ к методам Каждый метод имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal. Атрибутом доступа по умолчанию является атрибут private. Понятно, что класс, у которого все методы закрыты, абсурден, поскольку никто не смог бы вызвать ни один из его методов Как правило, у класса есть открытые методы, задающие интерфейс класса, и закрытые методы. 11
Методы-свойства Методы, называемые свойствами (Properties), представляют специальную синтаксическую конструкцию, предназначенную для обеспечения эффективной работы со свойствами. Перечислю пять наиболее употребительных стратегий: 1. чтение, запись (Read, Write); 2. чтение, запись при первом обращении (Read, Write-once); 3. только чтение (Read-only); 4. только запись (Write-only); 5. ни чтения, ни записи (Not Read, Not Write). 12
Статические поля и методы класса Не все поля отражаются в структуре объекта. У класса могут быть поля, связанные не с объектами, а с самим классом. Эти поля объявляются как статические с модификатором static. Статические поля доступны всем методам класса. 13
Статические поля и методы класса Аналогично полям, у класса могут быть и статические методы, объявленные с модификатором static. Такие методы не используют информацию о свойствах конкретных объектов класса они обрабатывают общую для класса информацию, хранящуюся в его статических полях. 14
Конструкторы класса Конструктор - неотъемлемый компонент класса. Нет классов без конструкторов. Конструктор представляет собой специальный метод класса, позволяющий создавать объекты класса. Одна из синтаксических особенностей этого метода в том, что его имя должно совпадать с именем класса. 15


