Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
swift:programacionorientadaobjetos [2023/10/18 15:51] – creado thejuanvisu | swift:programacionorientadaobjetos [2023/11/23 11:10] (actual) – thejuanvisu | ||
---|---|---|---|
Línea 2: | Línea 2: | ||
===== Clases ===== | ===== Clases ===== | ||
- | < | + | < |
class forma{ | class forma{ | ||
- | var lados = 0 | + | var lados = Int?// |
- | func descSimple()-> | + | |
+ | init(lados: Int){// | ||
+ | self.lados = lados//El this es Self en Swift | ||
+ | } | ||
+ | | ||
+ | func descSimple()-> | ||
return "una forma con \(lados)" | return "una forma con \(lados)" | ||
} | } | ||
} | } | ||
+ | var formilla = forma()// | ||
+ | formilla.lados = 7 //Le asignamos un valor al atributo lados | ||
+ | print(formilla.descSimple()) | ||
</ | </ | ||
+ | En caso de querer limpiar memoria tras borrar una clase podemos utiliza deinit | ||
+ | |||
+ | ===== Herencia ===== | ||
+ | |||
+ | Para indicar herencia simplemente ponemos dos puntos y la clase de la que se hereda. Se pueden sobreescribir funciones añadiendo un " | ||
+ | <code swift> | ||
+ | Class Poliedro: forma{ | ||
+ | |||
+ | var nuevoAtributo: | ||
+ | init(lados: | ||
+ | super.init(lados: | ||
+ | self.nuevoAtributo = nuevoAtributo | ||
+ | } | ||
+ | | ||
+ | override func descSimple(){ | ||
+ | print(" | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Precondiciones y postcondiciones ===== | ||
+ | |||
+ | Sirven para asignar aciones que se deben hacer antes y después de una tarea. | ||
+ | |||
+ | ===== Enumeraciones y Estructuras ===== | ||
+ | Ambas cosas son prácticamente los mismo, sirven para pasar datos por valor o por referencia. Los Struct se pasan por valor y los enum por referencia. | ||
+ | Suele tener que ver con el rendimiento, | ||
+ | |||
+ | |||
+ | <code swift> | ||
+ | struct cartas{ | ||
+ | var rank: Rank | ||
+ | var suti: Suit | ||
+ | func simpleDescription()-> | ||
+ | return "the \(rank.simpleDescription()) of \(suit.simpleDescription())" | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | |||
+ | |||
+ | enum suit{ | ||
+ | case spades, hearts, diamonds clubs// | ||
+ | func simpleDescription()-> | ||
+ | switch self{ | ||
+ | case .spades | ||
+ | return " | ||
+ | case .hearts | ||
+ | return " | ||
+ | case .diamonds | ||
+ | return " | ||
+ | case .clubs | ||
+ | | ||
+ | default: | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ |