Содержание
- 2. Не забыть включить запись!
- 3. Меня хорошо видно && слышно? Ставьте , если все хорошо Напишите в чат, если есть проблемы
- 4. Классы как воплощение принципов ООП Рочев Константин Васильевич Главный программист Insense Arts LLC, доцент каф. ВТИСиТ
- 5. Преподаватель Константин Рочев Опыт программирования на языке C# 10 лет Немного о текущей деятельности: Главный программист
- 6. Активно участвуем Задаем вопрос в чат или голосом Off-topic обсуждаем в Slack #канал группы или #general
- 7. Карта курса
- 8. Цели вебинара | После занятия вы сможете Использовать классы более профессионально 1 Реализовывать основные принципы ООП
- 9. Смысл | Зачем вам это уметь Понимать объектно-ориентированный код 1 Снижать сложность реализации больших программ с
- 10. Небольшой опрос 1
- 11. Немного теории 2
- 12. C# C# - объектно-ориентированный язык программирования. Разработан в 1998–2001 годах группой инженеров под руководством Андерса Хейлсберга
- 13. Объектно-ориентированное программирование это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых
- 14. Объект обладает состоянием, поведением, идентичностью; Структура и поведение схожих объектов определяет общий для них класс. Термины
- 15. Состояние Состояние объекта характеризуется перечнем (обычно статическим) всех свойств данного объекта и текущими (обычно динамическими) значениями
- 16. Поведение Поведение - это то, как объект действует и реагирует; поведение выражается в терминах состояния объекта
- 17. Поведение Метод определяется как процедура или функция, которая изменяет состояние объекта или заставляет объект отправить сообщение.
- 18. Идентичность Идентичность (уникальная идентичность, объектная идентичность) – это такое свойство объекта, которое отличает его от всех
- 19. Идентичность Идентичность (уникальная идентичность, объектная идентичность) – это такое свойство объекта, которое отличает его от всех
- 20. Класс Класс - это некое множество объектов, имеющих общую структуру и общее поведение. Г. Буч public
- 21. LIVE Давайте напишем класс Live-coding
- 22. Давайте напишем класс… но начнем не с него ☺ // структуры - они как классы, //
- 23. Фундамент объектно-ориентированных методов Абстрагирование Модульность Иерархия Наследование Инкапсуляция Полиморфизм Типизация Параллелизм Сохраняемость // структуры - они
- 24. Абстракция выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом,
- 25. Инкапсуляция — это процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение; инкапсуляция
- 26. Модульность — это свойство системы, которая была разложена на внутренне связные, но слабо связанные между собой
- 27. Иерархия — это упорядочение абстракций, расположение их по уровням. Виды иерархий Одиночное наследование («is kind of»)
- 28. Наследование (отношение «обобщение/специализация», AKO – A kind of) – возможность класса наследовать структуру и поведение другого
- 29. Полиморфизм (Polymorphe греч.) Дословно - множественность форм. Способность объекта или оператора ссылаться на объекты разных классов
- 30. Полиморфизм abstract class Animal { internal virtual void Goto(float x, float y, float z); } class
- 31. Параллелизм — это свойство, отличающее активные объекты от пассивных. Г. Буч Активные объекты имеют собственный поток
- 32. Сохраняемость — способность объекта существовать во времени, переживая породивший его процесс, и (или) в пространстве, перемещаясь
- 33. Типизация — это способ защититься от использования объектов одного класса вместо другого, или по крайней мере
- 34. Типизация в языке C# Типы данных Типы значений Хранятся в стэке Передаются по значению Ссылочные типы
- 35. Типы данных языка C#
- 36. Тип Object. Упаковка / Boxing using System; class BoxingExample { static void Main() { int i
- 37. Содержимое структур и классов
- 38. LIVE Давайте допишем классы Live-coding
- 39. Давайте продолжим писать наши классы public interface IFigure // Абстракция { List Points { get; }
- 40. Пара задач на типизацию, наследование и полиморфизм 3
- 41. Задача 1. Что получится в консоли? public void Show() { A a = new A(), b
- 42. Задача 2. Что получится в консоли? public void Show() { A a = new B(); }
- 43. Задача 3. Что получится в консоли? class A { public virtual void Foo() => Console.WriteLine("A"); }
- 44. И под занавес ещё одна задачка на полиморфизм class A { public virtual int Calc() =>
- 45. Создание своих типов данных public struct Coords { public int x, y; public Coords(int p1, int
- 46. Перечислимый тип enum Day { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; // можно указывать
- 47. Рефлексия ? Дайте понятие иерархии и перечислите виды иерархий. С каким фундаментальным свойством тесно связано это
- 48. Следующий вебинар Интерфейсы и их особенности Ссылка на вебинар будет в ЛК за 15 минут Тема:
- 49. Заполните, пожалуйста, опрос о занятии по ссылке в чате
- 51. Скачать презентацию