Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


swift:programacionorientadaobjetos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
swift:programacionorientadaobjetos [2023/10/18 15:57] thejuanvisuswift:programacionorientadaobjetos [2023/11/23 11:10] (actual) thejuanvisu
Línea 2: Línea 2:
 ===== Clases ===== ===== Clases =====
  
-<code>+<code swift>
   class forma{   class forma{
     var lados = Int?//Atributo. Indicamos que el valor es opcional, si no se asigna valor será nil (Equivalente a NULL en este lenguaje)     var lados = Int?//Atributo. Indicamos que el valor es opcional, si no se asigna valor será nil (Equivalente a NULL en este lenguaje)
Línea 19: Línea 19:
 </code> </code>
  
-<code>+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 "override" antes del func. Se puede llamar al constructor del padre con "super.init(Atributo:Valor)":
 +<code swift>
 +Class Poliedro: forma{
 +
 +  var nuevoAtributo: Int
 +  init(lados:Int, nuevoAtributo:Int){
 +    super.init(lados:lados)//llamamos al constructor del padre
 +    self.nuevoAtributo = nuevoAtributo
 +  }
 +  
 +  override func descSimple(){
 +    print("Hola, soy una función heredada reescrita")
 +  }
 +}
 </code> </code>
  
 +
 +===== 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, cuando algo se usa muy a menudo suele ser una clase, pero cuando es algo más temporal se usan structs y enums.
 +
 +
 +<code swift>
 +struct cartas{
 +  var rank: Rank
 +  var suti: Suit
 +  func simpleDescription()->String{
 +    return "the \(rank.simpleDescription()) of \(suit.simpleDescription())"
 +  }
 +  
 +}
 +
 +
 +enum suit{
 +  case spades, hearts, diamonds clubs//Equivaldrían a caso 0,1,2 y 3.
 +  func simpleDescription()->String{
 +    switch self{
 +      case .spades
 +        return "spades"
 +      case .hearts
 +        return "hearts"
 +      case .diamonds
 +        return "diamonds"
 +      case .clubs
 +       return "clubs"
 +      default:
 +       return String(self.rawValue)
 +    }
 +  } 
 +}
 +
 +</code>
swift/programacionorientadaobjetos.1697644640.txt.gz · Última modificación: 2023/10/18 15:57 por thejuanvisu