Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
swift:programacionorientadaobjetos [2023/10/18 15:57] – thejuanvisu | swift:programacionorientadaobjetos [2023/11/23 11:10] (actual) – thejuanvisu | ||
---|---|---|---|
Línea 2: | Línea 2: | ||
===== Clases ===== | ===== Clases ===== | ||
- | < | + | < |
class forma{ | class forma{ | ||
var lados = Int?// | var lados = Int?// | ||
Línea 19: | Línea 19: | ||
</ | </ | ||
- | < | + | 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: | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ |