Инкапсуляция полей и констант в языке C# (1) Поле: - инициализация факультативна, однако запрещен доступ к полям и методам того же типа; - поля структуры.

Презентация:



Advertisements
Похожие презентации
Объектно-ориентированный подход в языке C#. Класс в языке C# - ссылочный тип, определенный пользователем. Для классов ЯП C# допустимо только единичное.
Advertisements

Классы в C# Ссылочный тип, определенный пользователем (аналогично языкам C++ и Java) Единичное наследование классов Множественное наследование интерфейсов.
ОБЪЕКТНО- ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (ООП) 1.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 7 Методы как средство реализации операций Лекции читает кандидат технических наук.
Статические поля класса Статические поля хранят данные, общие для всех элементов класса. Статическое поле существует в единственном экземпляре для всех.
Лекция 2: Описание класса 1. Поля 2. Методы 3. Конструкторы.
ОСНОВНЫЕ ПОНЯТИЯ ООП Лекция 1 1. Язык Simula 2 Simula = SIMULAlation За разрабртку языка Simula Кристен Нигорд (Nygaard, Kristen; ), на снимке.
Лекция 10 ОбъектыЛекция 10 ОбъектыООП Инкапсуляция Возможность совместного хранения данных и кода для их обработки Наследование Возможность расширять существующие.
Лекция 8. Введение в ООП. Часть 1 Красс Александр СПбГУ ИТМО, 2008.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Лекция 3 Принципы объектно- ориентированного программирования.
ООП Классы Данные отдельно, методы отдельно struct Node { Node* next; void* data; }; struct List { Node* first; int size; }; void* allocate() { … } void.
Основы информатики Классы Заикин Олег Сергеевич zaikin.all24.org
Информационные технологии Стандартные библиотечные функции манипулирование данными преобразование и шифрование определение пользователями функций.
Лекция 4. Введение в С++ Наследование, множественное наследование. Конструкторы, деструкторы. Виртуальные функции.
Объектно-ориентированное программирование С++. Лекция 6 Карпов В.Э.
Дружественные функции Дружественные функции – это функции, объявленные вне класса, но имеющие доступ к закрытым и защищенным полям данного класса Дружественная.
Лекция 10 Класс как абстрактный тип. Подбельский гл. 9, Страуструп гл. Конструкторы и деструктор Конструкторы - это специальные функции-члены класса, предназначенные.
1. Классы ООП 1.Наследование 2.Инкапсуляция 3.Полиморфизм.
Функции Функция – именованная последовательность описаний и операторов, выполняющая некоторое действие. Может иметь параметры и возвращать значение. Функция.
Транксрипт:

Инкапсуляция полей и констант в языке C# (1) Поле: - инициализация факультативна, однако запрещен доступ к полям и методам того же типа; - поля структуры не подлежат инициализации Пример поля: class C { int value = 0; Константа: - Значение должно быть вычислимо в процессе компиляции Пример константы: const long size = ((long)int.MaxValue + 1) / 4; Современные языки программирования и.NET: II семестр Лекция 8: Концепция инкапсуляции и ее реализация в языке C# © Учебный Центр безопасности информационных технологий Microsoft Московского инженерно-физического института (государственного университета), 2003

Инкапсуляция полей и констант в языке C# (2) Поле только для чтения ( readonly ): - необходимо инициализировать в описании или конструкторе; - значение не обязательно должно быть вычислимым в ходе компиляции; - занимает область памяти (аналогично полю). Пример поля только для чтения: readonly DateTime date; Доступ изнутри класса:... value... size... date... Доступ из других классов: c = new C();... c.value... c.size... c.date... Современные языки программирования и.NET: II семестр Лекция 8: Концепция инкапсуляции и ее реализация в языке C# © Учебный Центр безопасности информационных технологий Microsoft Московского инженерно-физического института (государственного университета), 2003

Доступ к статическим полям и константам Статические поля и константы принадлежат классу, а не объекту: class Rectangle { static Color defaultColor;//однократно для класса static readonly int scale; //однократно для класса // статические константы недопустимо использовать int x, y, width,height;//однократно для объекта... } Доступ изнутри класса:... defaultColor... scale... Доступ из других классов:... Rectangle.defaultColor... Rectangle.scale... Современные языки программирования и.NET: II семестр Лекция 8: Концепция инкапсуляции и ее реализация в языке C# © Учебный Центр безопасности информационных технологий Microsoft Московского инженерно-физического института (государственного университета), 2003

Доступ к методам в языке C# (1) class C { int sum = 0, n = 0; public void Add (int x) {// процедура sum = sum + x; n++; } public float Mean() { // функция (возвращает значение) return (float)sum / n; } Современные языки программирования и.NET: II семестр Лекция 8: Концепция инкапсуляции и ее реализация в языке C# © Учебный Центр безопасности информационных технологий Microsoft Московского инженерно-физического института (государственного университета), 2003

Доступ к методам в языке C# (2) Доступ изнутри класса: this.Add(3); float x = Mean(); Доступ из других классов: C c = new C(); c.Add(3); float x = c.Mean(); Современные языки программирования и.NET: II семестр Лекция 8: Концепция инкапсуляции и ее реализация в языке C# © Учебный Центр безопасности информационных технологий Microsoft Московского инженерно-физического института (государственного университета), 2003

Доступ к статическим методам в языке C# Операции над данными классов (статическими полями): class Rectangle { static Color defaultColor; public static void ResetColor() { defaultColor = Color.white; } Доступ изнутри класса: ResetColor(); Доступ из других классов: Rectangle.ResetColor(); Современные языки программирования и.NET: II семестр Лекция 8: Концепция инкапсуляции и ее реализация в языке C# © Учебный Центр безопасности информационных технологий Microsoft Московского инженерно-физического института (государственного университета), 2003