Содержание
- 2. Зачем нужно что-то новое? программы из миллионов строк тысячи переменных и массивов Э. Дейкстра: «Человечество еще
 - 3. Как мы воспринимаем объекты? существенные свойства Абстракция – это выделение существенных свойств объекта, отличающих его от
 - 4. Использование объектов Программа – множество объектов (моделей), каждый из которых обладает своими свойствами и поведением, но
 - 5. С чего начать? Объектно-ориентированный анализ (ООА): выделить объекты определить их существенные свойства описать поведение (команды, которые
 - 6. Модель дороги с автомобилями Объект «Дорога»: методы (поведение) свойства (состояние) название класса
 - 7. Модель дороги с автомобилями Объект «Машина»: свойства: координаты и скорость все машины одинаковы скорость постоянна на
 - 8. Модель дороги с автомобилями Взаимодействие объектов: узнать длину свойства объектов методы: операции, которые они могут выполнять
 - 9. Классы программа – множество взаимодействующих объектов любой объект – экземпляр какого-то класса класс – описание группы
 - 10. Класс «Дорога» class TRoad: pass Описание класса: Создание объекта: road = TRoad() Конструктор – это метод
 - 11. Новый конструктор – добавлений полей class TRoad: def __init__ ( self ): self.length = 0 self.width
 - 12. Конструктор с параметрами class TRoad: def __init__ ( self, length0, width0 ): self.length = length0 self.width
 - 13. Защита от неверных данных class TRoad: def __init__ ( self, length0, width0 ): if length0 >
 - 14. Класс «Машина» class TCar: def __init__ ( self, road0, p0, v0 ): self.road = road0 self.P
 - 15. Класс «Машина» – метод move class TCar: def __init__ ( self, road0, p0, v0 ): ...
 - 16. Основная программа road = TRoad( 65, 3 ) car = TCar( road, 1, 10 ) car.move()
 - 17. Массив машин N = 3 cars = [] for i in range(N): cars.append ( TCar(road, i+1,
 - 18. Что в этом хорошего и плохого? основная программа – простая и понятная классы могут разрабатывать разные
 - 19. Задание «A»: Построить класс Попугай (Parrot), который умеет говорить какую-то фразу, заранее определённую при описании класса.
 - 20. Задание «С»: Изменить класс из задания B так, чтобы фразу можно было изменять во время работы
 - 21. Задание «E»: Изменить класс из задания D так, чтобы можно было добавлять фразы в набор фраз,
 - 22. Зачем скрывать внутреннее устройство? Объектная модель задачи: интерфейсы защита внутренних данных проверка входных данных на корректность
 - 23. Защита внутренних данных метод есть + энергия + настроение - голод метод спать + энергия +
 - 24. class TPen: def __init__ ( self ): self.__color = "000000" Пример: класс «перо» class TPen: def
 - 25. Пример: класс «перо» class TPen: def __init__ ( self ): self.__color = "000000" def getColor (
 - 26. Пример: класс «перо» Использование: pen = TPen() pen.setColor ( "FFFF00" ) print ( "цвет пера:", pen.getColor()
 - 27. Свойство color class TPen: def __init__ ( self ): ... def __getColor ( self ): ...
 - 28. Изменение внутреннего устройства class TPen: def __init__ ( self ): self.__color = 0 def __getColor (
 - 29. Преобразование int → hex Целое – в шестнадцатеричную запись: "0000FF" правильно так! 16711935 → "FF00FF" x
 - 30. Преобразование hex → int "FF00FF" → 16711935 sHex = "FF00FF" x = int ( sHex, 16
 - 31. Свойство «только для чтения» class TCar: def __init__ ( self ): self.__v = 0 v =
 - 32. Скрытие внутреннего устройства Инкапсуляция («помещение в капсулу») интерфейс (public) внутреннее устройство (private)
 - 33. Задание «A»: Построить класс РядЛампочек (LampRow), который хранит состояние ряда из 8 лампочек в виде символьной
 - 34. Задание «B»: Дополните класс LampRow из задания A так, чтобы количество лампочек в цепочке можно было
 - 35. Задание «С»: Дополните класс LampRow из задания B так, чтобы лампочки могли гореть одним из двух
 - 36. Задание «D»: Дополните класс LampRow из задания C так, чтобы код состояния хранился как целое число.
 - 37. Классификации Классификация – разделение изучаемых объектов на группы (классы), объединенные общими признаками. Яблоко Груша Банан Апельсин
 - 38. Что такое наследование? класс Двудольные семейство Бобовые род Клевер горный клевер наследует свойства (имеет все свойства)
 - 39. Иерархия логических элементов Логический элемент с одним входом с двумя входами НЕ Объектно-ориентированное программирование – это
 - 40. Базовый класс class TLogElement: def __init__ ( self ): self.__in1 = False self.__in2 = False self._res
 - 41. Базовый класс class TLogElement: def __init__( self ): self.__in1 = False self.__in2 = False self._res =
 - 42. Метод calc class TLogElement: ... def calc ( self ): pass заглушка
 - 43. Абстрактный класс Абстрактный метод – это метод класса, который объявляется, но не реализуется в классе. Абстрактный
 - 44. Абстрактный класс class TLogElement: def __init__ ( self ): self.__in1 = False self.__in2 = False self._res
 - 45. Что такое полиморфизм? греч.: πολυ — много, μορφη — форма Полиморфизм – это возможность классов-наследников по-разному
 - 46. Элемент «НЕ» class TNot ( TLogElement ): def __init__ ( self ): TLogElement.__init__ ( self )
 - 47. Элемент «НЕ» n = TNot() n.In1 = False print ( n.Res ) Использование: создание объекта установка
 - 48. Элементы с двумя входами class TLog2In ( TLogElement ): pass наследник от TLogElement нельзя, он абстрактный
 - 49. Элементы с двумя входами class TAnd ( TLog2In ): def __init__ ( self ): TLog2In.__init__ (
 - 50. Пример: элемент «И-НЕ» elNot = TNot() elAnd = TAnd() print ( " A | B |
 - 51. Модульность class TLogElement: ... class TNot ( TlogElement ): ... class TLog2In ( TLogElement ): pass
 - 52. Модульность В основную программу: import logelement elNot = logelement.TNot() elAnd = logelement.TAnd() ...
 - 53. Сообщения между объектами class TLogElement: def __init__ ( self ): ... self.__nextEl = None self.__nextIn =
 - 54. Сообщения между объектами class TLogElement: ... def __setIn1 ( self, newIn1 ): self.__in1 = newIn1 self.calc()
 - 55. Сообщения между объектами elNot = TNot() elAnd = TAnd() elAnd.link ( elNot, 1 ) print (
 - 56. Задание «A»: Постройте класс Pet (домашнее животное) с двумя скрытыми полями: __name (имя) и __age (возраст).
 - 57. Задание «A»: Пример: from animals import * p = Dog("Шарик", 5) p.gettingOlder() print( p.name + ":",
 - 58. Задание «B»: Добавьте класс Mammal (млекопитающее) – наследник класса Pet и предок для классов Cat и
 - 59. Задание «C»: Добавьте класс Reptilia (рептилии) – наследник класса Pet и предок для новых классов Turtle
 - 60. Задание «A»: Собрать полную программу и построить таблицу истинности последовательного соединения элементов «ИЛИ» и «НЕ». Пример:
 - 61. Задание «B»: Добавить в иерархию классов элементы «И-НЕ» (TNAnd) и «ИЛИ-НЕ» (TNOr), которые представляют собой последовательные
 - 62. Задание «C»: Добавить в иерархию классов элемент «исключающее ИЛИ» (TXor) и «импликация» (TImp). Построить их таблицы
 - 64. Скачать презентацию
 















![Массив машин N = 3 cars = [] for i in range(N):](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1020740/slide-16.jpg)













































 Презентация на тему Суперкомпьютеры 
 Архитектура клиентских приложений на JS
 Магазин антивирусов
 Платформа мониторинга и анализа социальных медиа Крибрум
 Презентация на тему Пословицы и поговорки на алгоритмическом языке 
 Системы управления базами данных (СУБД)
 Как преуспеть в тестировании
 Middlewar server Stalker. Прием телеканалов через сеть Интернет
 Передача информации. Схема передачи информации
 Возможности голосового помощника Маруся в организации
 Создание приложений на С++ с помощью DirectX
 Массивы. Объявление
 Язык HTML, как основа создания гипертекста
 Архитектура ORACLE. Установление соединения по сети
 Защита web-сайта Моё электронное портфолио
 Всероссийский конкурс Библиотеки. Продвижение
 Поняття про мультимедіа
 Программа Inkscape. Клонирование объектов. Узор из клонов
 Международная online олимпиада медицинских вузов Самарканд – 2020
 От тайности к криптографии
 Компьютерная графика
 Написать программу (задание)
 Информационные системы
 Программный интерфейс для парсинга и обработки данных из социальной сети Вконтакте
 Спиральная модель управление проектами в IT
 Построение таблиц истинности
 Общие сведения о Pascal
 Основы скетчноутинга