Содержание
- 2. И.М.Желакович БНТУ Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных
- 3. И.М.Желакович БНТУ Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных
- 4. И.М.Желакович БНТУ Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных
- 5. И.М.Желакович БНТУ Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных
- 6. И.М.Желакович БНТУ Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных
- 7. И.М.Желакович БНТУ Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных
- 8. И.М.Желакович БНТУ Определение класса в ООП Класс – это тип данных, задающий реализацию некоторой абстракции данных
- 9. И.М.Желакович БНТУ Определение класса в ООП Класс – это модуль, архитектурная единица построения программной системы. Модульность
- 10. И.М.Желакович БНТУ Проектирование в ООП Объектно-ориентированная разработка программной системы основана на стиле, называемом проектированием от данных.
- 11. И.М.Желакович БНТУ Проектирование в ООП Некоторые сущности проявляются в процессе разработки – возможно, нам потребуются стены,
- 12. И.М.Желакович БНТУ Проектирование в ООП Некоторые сущности могут включать в себя другие: группа состоит из студентов
- 13. И.М.Желакович БНТУ Проектирование в ООП В ООП используются понятия клиент и сервер. Сервер – тот, кто
- 14. И.М.Желакович БНТУ Класс CCar Рассмотрим создане и использование простейшего класса – автомобиль (Car). Для имен классов
- 15. И.М.Желакович БНТУ Создание нового проекта
- 16. И.М.Желакович БНТУ Добавление нового класса (правый клик на имени проекта)
- 17. И.М.Желакович БНТУ Задание имени класса
- 18. И.М.Желакович БНТУ Класс CCar Желательно каждый класс описывать в отдельном модуле Заготовка для класса создается автоматически
- 19. И.М.Желакович БНТУ Класс CCar у нашего класса пока только два атрибута (поля) public – поля будут
- 20. И.М.Желакович БНТУ Класс CCar Объекты создаются в том классе, где они используются – в Program
- 21. И.М.Желакович БНТУ Класс CCar при обращении к объекту видны все поля и методы, а также их
- 22. И.М.Желакович БНТУ Класс CCar Мы можем использовать поля, чтобы присвоить им значения и чтобы получить их
- 23. И.М.Желакович БНТУ Класс CCar Добавим еще один объект. Итого у нас есть 2 объекта.
- 24. И.М.Желакович БНТУ Класс CCar И еще один. Сколько всего объектов у нас есть?
- 25. И.М.Желакович БНТУ Класс CCar Для удобства добавим к нашему классу метод – вывод всей информации о
- 26. И.М.Желакович БНТУ Класс CCar Теперь пользоваться нашим классом стало намного удобнее
- 27. И.М.Желакович БНТУ Класс CCar Добавим метод посложнее
- 28. И.М.Желакович БНТУ Класс CCar Разгоним один автомобиль
- 29. И.М.Желакович БНТУ Класс CCar И притормозим другой
- 30. И.М.Желакович БНТУ Класс CCar Еще один вариант метода – с возвращаемым значением
- 31. И.М.Желакович БНТУ Класс CCar И его использование
- 32. И.М.Желакович БНТУ Класс CCar Насколько один автомобиль едет быстрее, чем другой? Метод работает с двумя объектами.
- 33. И.М.Желакович БНТУ Класс CCar Здесь важно продумать, от какого объекта будет вызван метод (первый автомобиль) и
- 34. И.М.Желакович БНТУ Класс CCar А что он будет возвращать? На сколько км/ч быстрее
- 35. И.М.Желакович БНТУ Класс CCar Так это метод будет вызываться:
- 36. И.М.Желакович БНТУ Класс CCar Но если мы хотим упростить жизнь пользователю класса (т.е. классу Program), можно
- 37. И.М.Желакович БНТУ Подведение итогов. Метод Метод – это функция, описанная внутри класса Метод вызывается от объекта
- 38. И.М.Желакович БНТУ Конструкторы такое создание объектов не слишком удобно
- 39. И.М.Желакович БНТУ Конструкторы Так было бы удобнее
- 40. И.М.Желакович БНТУ Конструкторы Конструктор – особый метод класса, используемый при создании новых объектов данного класса. Конструктор
- 41. И.М.Желакович БНТУ Конструкторы Если класс не имеет ни одного конструктора, компилятор создает конструктор по умолчанию.
- 42. И.М.Желакович БНТУ Конструкторы Добавление хотя бы одного конструктора отменяет создание конструктора по умолчанию
- 43. И.М.Желакович БНТУ Перегруженные конструкторы
- 44. И.М.Желакович БНТУ Перегруженные конструкторы При вызове конструктора появляется подсказка. Желательно видеть в подсказке осмысленные имена полей.
- 45. И.М.Желакович БНТУ Ключевое слово this Чтобы отличать имена полей от имен аргументов, используется слово this.
- 46. И.М.Желакович БНТУ Цепочки конструкторов При создании автомобиля пользователь может указать нереальную скорость (-10 или 100000). Желательно
- 47. И.М.Желакович БНТУ Цепочки конструкторов Изменим только один конструктор (самый подробный)
- 48. И.М.Желакович БНТУ Цепочки конструкторов
- 49. И.М.Желакович БНТУ Свойства Есть еще более грамотный способ обеспечить корректность полей класса – свойство. Свойство –
- 50. И.М.Желакович БНТУ Свойства private для поля имя поля с _ public для свойства внешнее имя get
- 51. И.М.Желакович БНТУ Свойства Проверку на корректность лучше делать внутри свойства
- 52. И.М.Желакович БНТУ Свойства Свойство выглядит иначе, чем поле
- 53. И.М.Желакович БНТУ Свойства get и set вызываются в зависимости от контекста
- 54. И.М.Желакович БНТУ Свойства Сработало ограничение на скорость свыше 300 км/ч
- 55. И.М.Желакович БНТУ Что не так в нашем классе?
- 56. И.М.Желакович БНТУ Свойства Мы вполне можем вернуть прежний вариант конструктора, ведь теперь здесь будет использоваться свойство.
- 57. И.М.Желакович БНТУ Свойства И проверка на корректность выполняется при вызове конструктора
- 58. И.М.Желакович БНТУ Свойства Лучшее место в классе для проверки бизнес-правил – это свойство!
- 59. И.М.Желакович БНТУ Модификаторы доступа Любой член класса может иметь один из модификаторов доступа: private (по умолчанию)
- 60. И.М.Желакович БНТУ Свойства Используя модификаторы доступа можно управлять свойствами: создать свойство только для чтения – клиент
- 61. И.М.Желакович БНТУ Сбор мусора Если не существует ни одной ссылки на объект, то предполагается, что этот
- 62. И.М.Желакович БНТУ Сбор мусора Поскольку на сбор мусора требуется определенное время, динамическая система С# активизирует этот
- 63. И.М.Желакович БНТУ Деструкторы Деструктор – метод, который должен вызываться непосредственно перед тем, как объект будет окончательно
- 64. И.М.Желакович БНТУ Деструкторы ~имя_класса() { // код деструктора }
- 65. И.М.Желакович БНТУ Деструкторы
- 67. Скачать презентацию