Introducción a Swift y XCode
Swift y el ecosistema Apple
Instalación y configuración de XCode
Quiz: Introducción a Swift y XCode
Fundamentos de programación iOS
Variables, constantes y tipos de datos básicos
Condicionales
Funciones
Tipos de datos opcionales
Arreglos: append, insert, como crearlas
Arreglos: validar, editar y agregar una lista dentro de otra lista
Conjuntos: como agregar o eliminar elementos
Conjuntos: principales operaciones entre conjuntos
Diccionarios
Recorridos parte 1: while
Recorridos parte 2: for
Recorridos parte 3: los retos
Quiz: Fundamentos de programación iOS
POO en iOS
Programación orientada a objetos en iOS
Structs
Clases y herencia
Enums
Protocolos
Funciones de arreglos (filter, map, reduce)
Funciones de arreglos parte 2 (filter, map, reduce): playground
Quiz: POO en iOS
Manejo de errores y programación segura
Manejo de errores y programación segura
Propagación de errores
Do, try, catch
Quiz: Manejo de errores y programación segura
Programación en el ecosistema de Apple
Siguientes pasos para el desarrollo en iOS
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en tÃtulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Santiago Moreno
El lenguaje Swift ofrece caracterÃsticas únicas para la programación orientada a objetos. Uno de los elementos fundamentales es la definición de clases, que se distingue por una estructura especÃfica. Vamos a crear una clase Student
en Swift y examinar sus diferencias clave con un struct
.
import Foundation
public class Student {
var name: String
let age: Int
var email: String
var subjects: [Subject]
var scores: [Double]
public init(name: String, age: Int, email: String, subjects: [Subject], scores: [Double]) {
self.name = name
self.age = age
self.email = email
self.subjects = subjects
self.scores = scores
}
public func studentDescription() -> String {
// Implementación de la descripción del estudiante
return ""
}
}
Las clases en Swift son esenciales debido a su capacidad para soportar la herencia, lo que significa que una clase puede heredar las propiedades y métodos de otra. Esto permite una estructura jerárquica y reutilización del código. Por ejemplo, una clase AdvancedStudent
puede heredar de Student
:
public class AdvancedStudent: Student {
var extraPoints: Double
public init(name: String, age: Int, email: String, subjects: [Subject], scores: [Double], extraPoints: Double) {
self.extraPoints = extraPoints
super.init(name: name, age: age, email: email, subjects: subjects, scores: scores)
}
override public func studentDescription() -> String {
// Implementación especializada del estudiante avanzado
return "Estudiante avanzado"
}
}
Crear instancias de una clase en Swift es directo. Aquà mostramos cómo iniciar un Student
y un AdvancedStudent
, utilizando sus propiedades únicas y métodos para generar descripciones personalizadas.
let student1 = Student(name: "Thiago", age: 18, email: "[email protected]", subjects: [mathSubject], scores: [70])
let student2 = AdvancedStudent(name: "MarÃa", age: 19, email: "[email protected]", subjects: [mathSubject], scores: [80], extraPoints: 10)
print(student1.studentDescription())
print(student2.studentDescription())
La diferencia crucial entre class
y struct
en Swift radica en la capacidad de herencia de las clases. En la programación orientada a objetos, esto es fundamental para extender el comportamiento de las clases y reutilizar el código de manera eficiente. Mientras que las clases permiten crear jerarquÃas complejas y personalizadas, los structs son más eficientes para estructuras de datos que no necesitan heredar propiedades o métodos.
Las clases permiten implementar comportamientos personalizados, lo cual es esencial para casos como estudiantes avanzados con caracterÃsticas adicionales. Imaginemos que queremos añadir un sistema de calificaciones extra para trabajos realizados, algo que es posible gracias a la herencia y sobreescritura en Swift.
override public func studentDescription() -> String {
var description = super.studentDescription()
description += " - Puntos extra: \(extraPoints)"
return description
}
Este uso de la herencia y la sobreescritura en Swift permite generar sistemas complejos de una manera comprensible y eficiente.
El aprendizaje de Swift y la programación orientada a objetos te abre un mundo de posibilidades para crear aplicaciones poderosas y eficientes. Practica definiendo más clases y experimentando con la herencia en tus propios proyectos.
Aportes 0
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?