Содержание
- 2. Понятие объекта В реальном мире каждый предмет или процесс обладает набором статических и динамических характеристик (свойствами
- 3. Абстрагирование и инкапсуляция При представлении реального объекта с помощью программного необходимо выделить в первом его существенные
- 4. Наследование Важное значение имеет возможность многократного использования кода. Для объекта можно определить наследников, корректирующих или дополняющих
- 5. Полиморфизм ООП позволяет писать гибкие, расширяемые и читабельные программы. Во многом это обеспечивается благодаря полиморфизму, под
- 6. Достоинства ООП использование при программировании понятий, близких к предметной области; возможность успешно управлять большими объемами исходного
- 7. Недостатки ООП некоторое снижение быстродействия программы, связанное с использованием виртуальных методов; идеи ООП не просты для
- 8. Технология разработки ОО программ В процесс проектирования добавляется еще один этап - разработка иерархии классов. в
- 9. Понятие класса Класс является типом данных, определяемым пользователем. Он должен представлять собой одну логическую сущность, например,
- 10. Описание класса [ атрибуты ] [ спецификаторы ] class имя_класса [ : предки ] тело_класса Имя
- 11. Сквозной пример класса class Monster { public Monster() // конструктор { this.name = "Noname"; this.health =
- 12. Спецификаторы класса
- 13. Элементы класса
- 14. Описание объекта (экземпляра) Класс является обобщенным понятием, определяющим характеристики и поведение множества конкретных объектов этого класса,
- 15. Пример создания объектов (экземпляров) class Monster { ... } class Class1 { static void Main() {
- 16. Присваивание и сравнение объектов b = c Величины ссылочного типа равны, если они ссылаются на одни
- 17. Данные: поля и константы Данные, содержащиеся в классе, могут быть переменными или константами. Переменные, описанные в
- 18. Пример класса using System; namespace CA1 { class Demo { public int a = 1; //
- 19. Спецификаторы полей и констант класса
- 20. Методы Метод — функциональный элемент класса, реализующий вычисления или другие действия. Методы определяют поведение класса и
- 21. Синтаксис метода [ атрибуты ] [ спецификаторы ] тип имя_метода ( [ параметры ] ) тело_метода
- 22. Примеры методов public void Sety(double z) { y = z; } public double Gety() { return
- 23. Параметры методов Параметры определяют множество значений аргументов, которые можно передавать в метод. Список аргументов при вызове
- 24. Пример class Demo { public int a = 1; public const double c = 1.66; static
- 25. Вызов метода Вычисляются выражения, стоящие на месте аргументов. Выделяется память под параметры метода. Каждому из параметров
- 26. Пример передачи параметров class Class1 { static int Max(int a, int b) // выбор макс. значения
- 27. Способы передачи параметров и их типы Способы передачи параметров: по значению и по ссылке. При передаче
- 28. Пример: параметры-значения и ссылки ref using System; namespace ConsoleApplication1 { class Class1 { static void P(
- 29. Пример: выходные параметры out using System; namespace ConsoleApplication1 { class Class1 { static void P( int
- 30. Правила применения параметров Для параметров-значений используется передача по значению. Этот способ применяется для исходных данных метода.
- 31. Ключевое слово this Чтобы обеспечить работу метода с полями того объекта, для которого он был вызван,
- 32. Использование явного this В явном виде параметр this применяется: // чтобы возвратить из метода ссылку на
- 33. Конструкторы Конструктор предназначен для инициализации объекта. Он вызывается автоматически при создании объекта класса с помощью операции
- 34. Пример класса с конструктором class Demo { public Demo( int a, double y ) // конструктор
- 35. Пример класса с двумя конструкторами class Demo { public Demo( int a ) // конструктор 1
- 36. Сквозной пример класса class Monster { public Monster() // конструктор { this.name = "Noname"; this.health =
- 37. Свойства Свойства служат для организации доступа к полям класса. Как правило, свойство определяет методы доступа к
- 38. Пример описания свойств public class Button: Control { private string caption; // поле, с которым связано
- 39. Сквозной пример класса class Monster { public Monster() // конструктор { this.name = "Noname"; this.health =
- 40. Методы с переменным количеством аргументов class Class1 { public static double Average( params int[] a )
- 41. Рекурсивные методы Рекурсивным называется метод, который вызывает сам себя (прямая рекурсия). Косвенная рекурсия - когда два
- 42. Характеристики рекурсии Достоинство рекурсии: компактность записи. Недостатки: опасность переполнения стека; расход времени и памяти на повторные
- 43. Перегрузка методов Использование нескольких методов с одним и тем же именем, но различными типами параметров называется
- 44. ©Павловская Т.А. (СПбГУ ИТМО) Операции класса В С# можно переопределить для своих классов действие большинства операций.
- 45. Общие правила описания операций класса операция должна быть описана как открытый статический метод класса (спецификаторы public
- 46. Унарные операции Можно определять: + - ! ~ ++ -- true false Примеры заголовков: public static
- 47. Пример унарной операции класса class Monster { public static Monster operator ++(Monster m) { Monster temp
- 48. Бинарные операции Можно определять: + - * / % & | ^ > == != >
- 49. Пример бинарных операций класса class Monster { public static Monster operator +( Monster m, int k
- 50. Операции преобразования типа Обеспечивают возможность явного и неявного преобразования между пользовательскими типами данных. implicit operator тип
- 51. Применение операций преобразования Неявное преобразование выполняется автоматически: при присваивании объекта переменной целевого типа; при использовании объекта
- 52. Индексаторы ©Павловская Т.А. (СПбГУ ИТМО) Индексатор представляет собой разновидность свойства. Если у класса есть скрытое поле,
- 53. Пример ©Павловская Т.А. (СПбГУ ИТМО) class Book { public Book(string name) { this.Name=name; } public string
- 54. Многомерные индексаторы ©Павловская Т.А. (СПбГУ ИТМО) class Matrix { private int[,] numbers = new int[,] {
- 55. Индексаторы без массива ©Павловская Т.А. (СПбГУ ИТМО) namespace ConsoleApp4 { class Program { static void Main(string[]
- 57. Скачать презентацию








![Описание класса [ атрибуты ] [ спецификаторы ] class имя_класса [ :](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/837357/slide-9.jpg)










![Синтаксис метода [ атрибуты ] [ спецификаторы ] тип имя_метода ( [](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/837357/slide-20.jpg)
































![Многомерные индексаторы ©Павловская Т.А. (СПбГУ ИТМО) class Matrix { private int[,] numbers](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/837357/slide-53.jpg)

IT консалтинг
Информация и ее свойства. Информационные процессы
Массфолловинг и таргет кейсы
PSR, MVC. Лекция 5
Алгоритм презентации
Понятие одномерного массива
Неразрушающий контроль и диагностика. Обзор специализированных журналов
Сервер LandPlay
Состав и структура ЭВМ
Безопасный интернет. Информационная безопасность
Lecture Plan: Diagonal Layout. Left-hand Margin. Which Language Used in Notes. When to Note
Основные направления работы ФИМЦ
Игра воображения
Информационные процессы. Передача информации
Переменные. Присваиваем значения
SketchUp. Группы из 3D моделей
Проект Пульс. Оперативный мониторинг различных сфер и его наглядная визуализация для центров принятия решений
GIT. Семантические конфликты
Программирование на языке Python
Поддержка ЕАС ОПС – система Naumen
Геймдев студия Scientific Ways
Языки программирования
Современный сленг
Программная документация
Социальные сети: предпосылки появления и особенности развития
Подача заявления через портал государственных услуг
Опасность социальных сетей
HTML1 (1)