Upload
alexander-zimin
View
610
Download
2
Embed Size (px)
Citation preview
4
• Инкапсуляция
• Уровни доступа
• Абстракция
• Пространство имен
• Синтаксис
• Расширяемость
Класс
9
class Compared { func isEqualTo(other: Compared) -> Bool { fatalError("implements me!") }}
class Text : Compared { var text: String = "" … }
9
class Compared { func isEqualTo(other: Compared) -> Bool { fatalError("implements me!") }}
class Text : Compared { var text: String = "" … }
class Number : Compared { var value: Double = 0 override func isEqualTo(other: Compared) -> Bool { return value == (other as! Number).value }}
10
class Compared { func isEqualTo(other: Compared) -> Bool { fatalError("implements me!") }}
class Text : Compared { var text: String = "" … }
class Number : Compared { var value: Double = 0 override func isEqualTo(other: Compared) -> Bool { return value == (other as! Number).value } }
13
• Типы-значения
• Статическую зависимость между типами
• Ретроактивность моделирования
Что это позволит
13
• Типы-значения
• Статическую зависимость между типами
• Ретроактивность моделирования
• Упрощение инициализаторов
Что это позволит
13
• Типы-значения
• Статическую зависимость между типами
• Ретроактивность моделирования
• Упрощение инициализаторов
• Внимание на том, что надо реализовать
Что это позволит
15
Когда использовать классы
• Когда нет смысла копировать
• Привязка к событиям извне
• Записывающие устройства
15
Когда использовать классы
• Когда нет смысла копировать
• Привязка к событиям извне
• Записывающие устройства
• Фрейморк требует наследования
Ссылки
16
• https://bigonotetaking.wordpress.com/2015/07/17/swift-protocols-a-strategy/ - стратегия по работе с протоколами
Ссылки
16
• https://bigonotetaking.wordpress.com/2015/07/17/swift-protocols-a-strategy/ - стратегия по работе с протоколами
• http://www.infoq.com/news/2015/06/protocol-oriented-swift - Краткий разбор лекции с WWDC 2015
Ссылки
16
• https://bigonotetaking.wordpress.com/2015/07/17/swift-protocols-a-strategy/ - стратегия по работе с протоколами
• http://www.infoq.com/news/2015/06/protocol-oriented-swift - Краткий разбор лекции с WWDC 2015
• http://www.raywenderlich.com/109156/introducing-protocol-oriented-programming-in-swift-2 - пример от Ray Wenderlich
Ссылки
16
• https://bigonotetaking.wordpress.com/2015/07/17/swift-protocols-a-strategy/ - стратегия по работе с протоколами
• http://www.infoq.com/news/2015/06/protocol-oriented-swift - Краткий разбор лекции с WWDC 2015
• http://www.raywenderlich.com/109156/introducing-protocol-oriented-programming-in-swift-2 - пример от Ray Wenderlich
• http://blog.metaobject.com/2015/06/protocol-oriented-programming-is-object.html - небольшой разбор
Ссылки
16
• https://bigonotetaking.wordpress.com/2015/07/17/swift-protocols-a-strategy/ - стратегия по работе с протоколами
• http://www.infoq.com/news/2015/06/protocol-oriented-swift - Краткий разбор лекции с WWDC 2015
• http://www.raywenderlich.com/109156/introducing-protocol-oriented-programming-in-swift-2 - пример от Ray Wenderlich
• http://blog.metaobject.com/2015/06/protocol-oriented-programming-is-object.html - небольшой разбор
• http://vojtastavik.com/2015/07/29/protocolui-customizing-uikit-using-protocols/ - интересный пример использования протоколов в UI