Вы находитесь на странице: 1из 7

ТИПЫ

Заметки
• В любом проекте вы будете создавать свои типы (объекты, экземпляры), часто называют «именованные типы»

• Проект состоит из набора объектов, которые взаимодействуют между собой

• Каждый объект имеет свое назначение - набор функций (методов) и переменных

• Понятие «instance» - экземпляр, «instantiation» – создание экземпляра


ООП
• Swift поддерживает основные принципы ООП, поэтому нужно разрабатывать именно в этом стиле:
• Initializer (конструкторы)
• Наследование
• Протоколы (интерфейсы)
• Generics
• Полиморфизм
• Инкапсуляция
• Принцип «Абстракция-реализация»
• Гетеры-сетеры
• Модификаторы доступа
• Статичные элементы

• В некоторых случаях Swift предоставляет более расширенные возможности по сравнению с Java


Собственные типы
• Основные способы создания собственных типов (объектов):
• struct (структура) – в Java отсутствует
• Value type - ключевое отличие от class, в остальном много схожестей
• Многие встроенные типы являются структурой (String, Int, Dictionary, Array и пр.)
• Поддерживает не все принципы ООП

• class (класс)
• Похож на struct, но Reference type
• Более сложные объекты
• Поддерживает все принципы ООП

• enum (перечисление) - отличается по смыслу, будем проходить отдельно


• Value type
• Набор ограниченных значений

• Нотации именования типов похожи на Java (с большой буквы, верблюжий стиль)

• Тип – любой собственный объект, который создаем в коде (struct, class, enumeration)
Заметки
• Any – любой тип, включая функциональные (функции, замыкания), опциональные

• AnyObject – экземпляр любого типа


Заметки
• Как и в Java – не нужно вручную управлять памятью и очищать объекты

• Automatic Reference Counting (ARC) - аналогичный механизм как и «garbage collector» в Java для управления памятью
(только более быстрый и оптимизированный)
Домашнее задание
• Прочитать
• https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/ClassesAndStruc
tures.html