Contenido del curso
Fundamentos de programación iOS
- 3

Variables, constantes y tipos de datos en Swift
18:55 min - 4

Condicionales en Swift con if y else
16:58 min - 5

Funciones en Swift con parámetros y return
10:37 min - 6

Variables opcionales en Swift
09:29 min - 7

Arrays en Swift: declara, accede e inserta
10:28 min - 8

Eliminar y buscar elementos en arrays Swift
05:41 min - 9

Sets en Swift: sin orden ni duplicados
07:14 min - 10

Operaciones entre sets en Swift
05:22 min - 11

Diccionarios en Swift para datos complejos
10:54 min - 12

Ciclo while en Swift desde cero
06:48 min - 13

Ciclo for en Swift para buscar datos
09:38 min - 14

Batalla Pokémon con while en Swift
10:45 min
POO en iOS
- 15

Qué es la programación orientada a objetos
Viendo ahora - 16

Creación de Structs en Swift para Gestión de Materias
11:16 min - 17

Herencia en Swift: class vs struct
13:27 min - 18

Uso de Enumerables (Enums) en Swift para Datos Limitados
09:27 min - 19

Protocolos en Swift como contratos de código
15:12 min - 20

map, filter y reduce con arreglos en Swift
10:53 min - 21

Prueba final del Students Manager en Swift
05:40 min
Manejo de errores y programación segura
Programación en el ecosistema de Apple
Qué es la programación orientada a objetos
Resumen
La programación orientada a objetos (POO) es un paradigma que te permite organizar tu código en clases y objetos para modelar entidades del mundo real dentro de Swift. Si estás aprendiendo a programar y quieres construir aplicaciones que escalen sin volverse un caos, dominar este enfoque es el siguiente paso lógico después de las bases del lenguaje.
Antes de escribir una sola línea, conviene recordar una idea que se le atribuye al académico de software John Johnson: primero resuelve el problema, después escribe el código. Programar es solo la herramienta; la POO te ayuda a traducir esa solución mental en piezas reutilizables y mantenibles.
Por qué usar programación orientada a objetos en tu código
La POO te da una forma estructurada de representar entidades reales para que tu código crezca de forma saludable. Piensa en bloques de Lego: cada pieza encaja con otras y puedes reemplazarla sin romper toda la construcción.
Entre los beneficios prácticos que vas a notar:
- Reutilización de piezas en distintas partes del proyecto.
- Depuración y actualización más sencillas a futuro.
- Lectura clara para otros desarrolladores o para tu yo del futuro.
- Modelado fiel de entidades que ya entiendes del mundo físico.
¿Qué es la programación orientada a objetos? Es un paradigma que organiza el código en clases y objetos que representan entidades del mundo real, con propiedades y comportamientos definidos.
Cuáles son los pilares de la POO: clases y objetos
La POO se sostiene sobre dos pilares: clases y objetos. Entender la diferencia es lo que separa a alguien que copia código de alguien que diseña soluciones.
Qué es una clase y cómo funciona como plantilla
Una clase es un modelo o plantilla que define las propiedades y comportamientos de una entidad. Imagina el plano arquitectónico de una casa: el plano no es la casa, pero indica cómo construirla.
Por ejemplo, una clase coche puede tener atributos como marca y modelo, y comportamientos como acelerar. Tú defines en la clase qué pasa cuando alguien le dice al coche que acelere.
Qué es un objeto y en qué se diferencia de una clase
Un objeto es una instancia concreta de una clase. Si la clase casa es el plano, cada casa construida en el conjunto residencial es un objeto distinto, con su propia dirección y color.
En el caso del coche, miCoche puede ser un objeto de la clase coche con marca Toyota y modelo 2019. Otro objeto de la misma clase tendrá sus propios valores.
¿Cuál es la diferencia entre clase y objeto? La clase es la plantilla que define cómo se ven las cosas; el objeto es una instancia real con valores concretos en sus propiedades.
Cómo diseñar un diagrama de clases antes de programar
Tener la solución clara en tu cabeza no basta. Necesitas plasmarla en un diagrama de clases, una representación con cajas y flechas que muestra entidades y cómo se relacionan entre sí.
Este diagrama es el lenguaje común con el que vas a comunicarte con tus jefes, tu equipo o tu yo del futuro. Es el estándar dentro del paradigma orientado a objetos.
Por qué escribir el código en inglés
A partir de ahora, los nombres de variables, funciones y clases se manejan en inglés porque es el estándar de la industria. Las palabras reservadas de Swift, como let, var o func, ya hacen referencia al inglés, así que mantener consistencia evita mezclas raras.
Las tres clases del sistema de administración de estudiantes
Para resolver el reto de administrar estudiantes, materias y notas, se modelan tres entidades:
- Subject (materia): tiene
namede tipo String,teacherNamede tipo String ysubjectLevelde tipo SubjectLevel. - Student (estudiante): tiene
namede tipo String,agede tipo Int, una lista desubjectsde tipo Subject y una lista descoresde tipo Double con las notas. - StudentsManager: contiene una lista de estudiantes y representa la lógica para inscribir, asignar materias y generar reportes.
Fíjate en algo interesante: Subject y Student son entidades que existen en la vida real, pero StudentsManager es más abstracto, representa lógica del programa. La POO también te permite modelar este tipo de conceptos que no tocas con la mano.
Con ese diagrama listo, ya puedes pasar al código y empezar a inscribir estudiantes, asignarles materias y generar un reporte que muestre si pasaron o no el semestre. ¿Cómo modelarías tú una entidad de tu propio proyecto? Cuéntamelo en los comentarios.