Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемfiles.nsumedia.ru
11 Инкапсуляция полей и констант в языке C# (1) Поле: - инициализация факультативна, однако запрещен доступ к полям и методам того же типа; - поля структуры не подлежат инициализации Пример поля: class C { int value = 0; Константа: - Значение должно быть вычислимо в процессе компиляции Пример константы: const long size = ((long)int.MaxValue + 1) / 4; Современные языки программирования и.NET: II семестр Лекция 8: Концепция инкапсуляции и ее реализация в языке C# © Учебный Центр безопасности информационных технологий Microsoft Московского инженерно-физического института (государственного университета), 2003
12 Инкапсуляция полей и констант в языке C# (2) Поле только для чтения ( readonly ): - необходимо инициализировать в описании или конструкторе; - значение не обязательно должно быть вычислимым в ходе компиляции; - занимает область памяти (аналогично полю). Пример поля только для чтения: readonly DateTime date; Доступ изнутри класса:... value... size... date... Доступ из других классов: c = new C();... c.value... c.size... c.date... Современные языки программирования и.NET: II семестр Лекция 8: Концепция инкапсуляции и ее реализация в языке C# © Учебный Центр безопасности информационных технологий Microsoft Московского инженерно-физического института (государственного университета), 2003
13 Доступ к статическим полям и константам Статические поля и константы принадлежат классу, а не объекту: 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
14 Доступ к методам в языке 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
15 Доступ к методам в языке 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
16 Доступ к статическим методам в языке C# Операции над данными классов (статическими полями): class Rectangle { static Color defaultColor; public static void ResetColor() { defaultColor = Color.white; } Доступ изнутри класса: ResetColor(); Доступ из других классов: Rectangle.ResetColor(); Современные языки программирования и.NET: II семестр Лекция 8: Концепция инкапсуляции и ее реализация в языке C# © Учебный Центр безопасности информационных технологий Microsoft Московского инженерно-физического института (государственного университета), 2003
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.