Содержание
- 2. Цели модуля
- 3. ООП, классы, объекты Наследование, интерфейсы Методы класса Any, классы данных Делегированные свойства и lateinit Расширения для
- 4. По окончании модуля вы будете знакомы с ООП парадигмой в котлине и научитесь писать программы, которые
- 5. ООП, классы, объекты
- 6. На этом уроке мы рассмотрим, что такое ООП, классы, объекты, методы, поля. Научимся на практике работать
- 7. Kotlin - ООП язык ООП использует: классы объекты иерархии Объектно-ориентированное программирование
- 8. Название: Автомобиль Характеристики: количество колес максимальная скорость мощность двигателя количество дверей размеры кузова Действия: разгон (двигатель
- 9. Класс: Автомобиль Название: Tesla Cybertruck Характеристики: количество колес - 4 шт. максимальная скорость - 209 км/ч
- 10. Поля: количество колес текущая скорость скорость мощность двигателя количество дверей размеры кузова Поля и методы Методы:
- 11. Инкапсуляция Наследование Полиморфизм Абстракция Принципы ООП
- 12. Могут применяться к полям, методам, классам. public(по умолчанию) - доступность отовсюду protected - доступность внутри класса
- 13. На этом уроке мы рассмотрели, на чем основывается ООП, на практике поработали с: классами конструкциями импортов
- 14. Наследование, интерфейсы
- 15. На этом уроке мы рассмотрим наследование, интерфейсы, абстрактные и анонимные классы. Цели урока
- 16. Автомобиль является транспортом Самолет является транспортом Наследование Транспорт разгон торможение Автомобиль разгон торможение открытие дверей Самолет
- 17. Иерархия классов
- 18. Отсутствует множественное наследование На вершине иерархии наследования находится класс Any Необходимы модификаторы класса - open или
- 19. Предназначен для наследования Невозможно создать экземпляр абстрактного класса Может иметь абстрактные методы и свойства Может содержать
- 20. Может иметь поля и методы Все поля и методы будут доступны пользователю интерфейса Нет внутренней реализации
- 21. Не имеют имени Используются для создания объекта один раз С помощью них можно создать объект интерфейса,
- 22. На этом уроке мы рассмотрели наследование, научились работать с классами-наследниками, интерфейсами, абстрактными и анонимными классами. Рассмотрели
- 23. Методы класса Any, классы данных
- 24. На этом уроке мы поговорим о сравнении объектов, рассмотрим методы класса Any - equals, hashcode, toString.
- 25. Равенство по ссылке (object3 === object4) Равенство по значению (object3 == object4) Сравнение
- 26. Хеш-код - это целочисленное значение, которое возвращается хеш-функцией для объекта. Функция hashCode является хеш-функцией. Она должна
- 27. Объекты одинаковы - хешкоды одинаковы Хешкоды одинаковы - объекты необязательно одинаковы (коллизия) Хешкоды разные - объекты
- 28. Возвращает текстовое представление объекта. По умолчанию возвращает название класса и хешкод в шестнадцатеричном виде: com.skillbox.skillboxkotlin.Car@b026219 toString()
- 29. Генерирует методы неявно: equals()/hashСode() toString() componentN() copy() Ограничения: Должен быть как минимум 1 аргумент в основном
- 30. На этом уроке мы рассмотрели ссылочное сравнение объектов и сравнение по значению. Изучили методы класса Any:
- 31. Делегированные свойства и lateinit
- 32. На этом уроке мы с вами рассмотрим модификатор свойств lateinit а также делегированные свойства Цели урока
- 33. Позволяет произвести отложенную инициализацию свойства класса. Для того, чтобы использовать модификатор lateinit необходимо: свойство должно быть
- 34. Позволяют переиспользовать код для инициализации свойств и добавить логику при обращении к полю и при установке
- 35. На этом уроке мы рассмотрели модификатор свойства lateinit, делегированные свойства, научились создавать свои делегированные свойства и
- 36. Расширения для классов
- 37. На этом уроке мы узнаем, что такое расширения для классов, и как с ними работать. Цели
- 38. Предназначены для добавления нового функционала в классы без наследования от них. Виды: extension function extension property
- 39. На этом уроке мы рассмотрели расширения, научились их создавать и использовать Выводы
- 40. Объявления объектов
- 41. На этом уроке рассмотрим такие объявления объектов, как объект-синглтон, объект-компаньон. Цели урока
- 42. Синглтон - объект класса, который существует в единственном экземпляре во время всей работы приложения. объявляется с
- 43. находится внутри класса объявляется с помощью ключевых слов companion object может быть и не быть имени
- 44. На этом уроке рассмотрели объявления объектов - объект-синглтон, объект-компаньон. Научились работать с ними на практике. Выводы
- 45. Перечисления, sealed-классы
- 46. На этом уроке рассмотрим перечисления и sealed классы, посмотрим, чем они отличаются, как с ними работать
- 47. Классы, которые могут содержать только объявленные объекты. Нельзя создать объект этого класса во время выполнения Объявляются
- 48. Класс, наследники которого известны на момент компиляции. Похож на перечисления Наследниками могут выступать объекты-синглтоны и классы
- 49. На этом уроке мы рассмотрели перечисления и sealed классы, узнали их возможности и отличия на практике.
- 50. Перегрузка операторов
- 51. На этом уроке мы с вами поговорим о перегрузке операторов для классов Цели урока
- 52. Перегрузка операторов data class Point(val x: Int, val y: Int) operator fun Point.unaryMinus() = Point(-x, -y)
- 53. На этом уроке мы узнали, как можно перегружать работу операторов для собственных классов Выводы
- 54. Домашнее задание
- 56. Скачать презентацию
 Slaidy.com
 Slaidy.com





















































 Подбор ключевых слов, семантическое ядро
 Подбор ключевых слов, семантическое ядро Автоматизированное тестирование
 Автоматизированное тестирование 10 самых распространенных ошибок сотрудников, приводящих к утечке информации
 10 самых распространенных ошибок сотрудников, приводящих к утечке информации Евфрат 2011
 Евфрат 2011 MVP (minimum viable product)
 MVP (minimum viable product) 1_2_1
 1_2_1 Вас приветствует мастер установки Windows 9 x64
 Вас приветствует мастер установки Windows 9 x64 Списки и цвета
 Списки и цвета Организация мероприятия InControl
 Организация мероприятия InControl Десятичная система счисления
 Десятичная система счисления Эл.1
 Эл.1 Тест по программированию
 Тест по программированию Методы и средства обеспечения безопасности
 Методы и средства обеспечения безопасности Функциональное программирование
 Функциональное программирование MediaКиТ2019 Бриф от издательства и сети магазинов настольных игр GaGa.ru
 MediaКиТ2019 Бриф от издательства и сети магазинов настольных игр GaGa.ru Операционная система
 Операционная система Круглый стол. Цифровая 3D-медицина. Тенденции развития научно-исследовательской работы студентов Арзамасского филиала ННГУ
 Круглый стол. Цифровая 3D-медицина. Тенденции развития научно-исследовательской работы студентов Арзамасского филиала ННГУ Безопасность в сети Интернет
 Безопасность в сети Интернет Обмен сообщениями через Bluetooth
 Обмен сообщениями через Bluetooth Настойка ISO для фотокамер NIKON
 Настойка ISO для фотокамер NIKON Что такое информация
 Что такое информация Текстуры
 Текстуры Стимулирование развития инноваций
 Стимулирование развития инноваций Разработка сайтов
 Разработка сайтов Семинар Системное программирование
 Семинар Системное программирование Марафон по спецификации цели
 Марафон по спецификации цели Модели разработки ПО. Agile, Scrum. Урок 2
 Модели разработки ПО. Agile, Scrum. Урок 2 Если бусина не одна
 Если бусина не одна