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 16:05] – 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 23: | Línea 23: | ||
| ===== Herencia ===== | ===== Herencia ===== | ||
| - | Para indicar herencia simplemente ponemos dos puntos y la clase de la que se hereda. Se pueden sobreescribir funciones añadiendo un " | + | Para indicar herencia simplemente ponemos dos puntos y la clase de la que se hereda. Se pueden sobreescribir funciones añadiendo un " |
| - | < | + | < |
| Class Poliedro: forma{ | Class Poliedro: forma{ | ||
| + | |||
| + | var nuevoAtributo: | ||
| + | init(lados: | ||
| + | super.init(lados: | ||
| + | self.nuevoAtributo = nuevoAtributo | ||
| + | } | ||
| + | | ||
| override func descSimple(){ | override func descSimple(){ | ||
| print(" | print(" | ||
| Línea 32: | Línea 39: | ||
| </ | </ | ||
| + | |||
| + | ===== 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: | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </ | ||