Programación Orientada a Protocolos (NSCoder Night Madrid)

Post on 29-Jan-2018

322 views 3 download

Transcript of Programación Orientada a Protocolos (NSCoder Night Madrid)

Programación Orientada a Protocolos

Julio César Fernández Muñoz

Apple Developer Evangelist

applecoding.com

Animales

Atributos - Sonido - Número de patas - AlimentaciónMétodos - Hablar - Andar

Programación Orientada a Objetos

Abstracción y clases

Programación Orientada a Protocolos

Programación Orientada a Objetos

Instanciación de Objetos

Clase Animal

Programación Orientada a Protocolos

Herencia

Atributos - Sonido - Número de patas - Alimentación - Raza

Programación Orientada a Objetos

Programación Orientada a Protocolos

Programación Orientada a Protocolos

Orientado a objetos

Entidades (clases y objetos) - Propiedades o atributos - Métodos o comportamientos - Cada tipo de un objeto es una instancia

Capacidades - Herencia - Polimorfismo (o sobrecarga)

Problemas - Datos por referencia - Herencia es acumulativa - Casting - Swift: propiedades inicializadas

Programación Orientada a Objetos

Orientado a protocolos

Componentes - Protocolos - Structs - Extensiones

Identidades - Características - Comportamientos

Ventajas - Datos por valor - Identidades independientes y acumulativas - No hay que inicializar los datos cuando creamos el struct - El tipo de dato es cada tipo de struct y no instancias - Sin problemas de casting

Programación Orientada a Protocolos

Programación Orientada a Protocolos

Protocolo AnimalCaracterísticas- Sonido- Número de patas- Alimentación

Comportamientos- Hablar- Andar

Programación Orientada a Protocolos

Protocolo AnimalCaracterísticas- Sonido- Número de patas- Alimentación

Comportamientos- Hablar- Andar

Protocolo Raza Características- Raza

Programación Orientada a Protocolos

Protocolo Animal Características - Número de patas - Alimentación

Comportamientos - Andar

Protocolo Raza Características - Raza

Protocolo Hablador Características - Sonido

Comportamiento - Hablar

Programación Orientada a Objetos

Programación Orientada a Protocolos

SKShapeNode

Figuras

Círculo

Figuras geométricas SKShapeNode

Programación Orientada a Protocolos

SKShapeNode Protocolo Figuras

Struct Círculo

Figuras geométricas SKShapeNode

(por orientación a protocolos)

Extension Dibujar

Muchas gracias

Programación Orientada a Protocolos

Twitter: - @jcfmunoz - @apple_coding

applecoding.com