Swift: diferencia entre función y método

Algunas personas usan la función y el método indistintamente y piensan que la función y el método son lo mismo en Swift. Pero, la función y el método son cosas diferentes y ambos tienen sus ventajas. En el código, tanto la función como el método se pueden usar nuevamente, pero los métodos son uno de estos: clases, estructuras y enumeraciones, mientras que las funciones no pertenecen a ninguna clase, estructura ni enumeración. En resumen, un método es una función asociada con un tipo, es decir, una clase, una estructura o una enumeración. También podemos pensar en esto: Todo método es también una función, pero no toda función es también un método. Swift usa la palabra clave «func» tanto para métodos como para funciones. Esto es un poco complicado, pero veremos la clara diferencia entre función y método en esta publicación.

Funciones: Las funciones son fragmentos de código que realizan una tarea específica. Siempre hay un nombre asociado con una función y para llamar a la función usamos este nombre para hacer algún trabajo. O podemos decir que una función es un fragmento de código que se llama por su nombre y realiza una tarea específica. Podemos pasar datos a la función como un argumento y la función también puede devolver datos que son el valor de retorno de la función. Un tipo particular no debe estar asociado con las funciones. Los archivos que están fuera de un tipo particular también pueden obtener esta función si es una función global. Pasamos todos los datos a la función se pasa explícitamente. 

Sintaxis:

func function_name(parameters) -> returnType{
    // Body of the function
}

Ejemplo:

Swift

// Swift program to illustrate function
  
// Function
func gfg() 
{
    print("Hello GeeksforGeeks")
}
  
  
// Calling function
gfg()

Producción:

Hello GeeksforGeeks

Métodos: Método es la función que está asociada con un tipo particular. El método de instancia se puede definir mediante estructuras, enumeraciones y clases. Encapsula el trabajo y la funcionalidad particulares para ejecutar con una instancia de un tipo particular dado. Llamamos al método por el nombre que está asociado con su objeto. podemos determinar el trabajo requerido para mejorar gradualmente los componentes esenciales o todo el código del sistema usando el método swift. También se utiliza para examinar el gran y complicado sistema heredado. A continuación se muestran los dos tipos de métodos: 

  • Métodos de instancia
  • Métodos de tipo

Swift admite métodos de instancia y métodos de tipo. Los métodos de instancia solo pueden ser invocados por una instancia del tipo. Si intentamos acceder al método de instancia con diferentes objetos, el compilador dará un error. Un método de tipo tiene el prefijo de la palabra clave static o class en swift. Un método de tipo es también el tipo en sí.

Sin embargo, el comportamiento de los nombres locales y los nombres externos en Swift no es el mismo para los métodos y funciones. En un método, el nombre del primer parámetro lo proporciona swift de forma predeterminada. Y, de forma predeterminada, proporciona el segundo y los siguientes parámetros siguientes se utilizan para los nombres de parámetros locales y externos. 

Sintaxis:

func method_name(parameters){
    // Body of the method
}

Ejemplo:

En el siguiente código, creamos dos métodos. Aquí, learn() es el ejemplo del método de instancia y write() es el ejemplo del método de tipo. En el método de tipo, usamos la palabra clave static o class como prefijo. Aquí usamos el prefijo estático para el método write(). Y puede ver que lo llamamos usando el nombre de estructura. Llamamos al método de instancia usando la instancia de struct Geek(). 

Swift

// Swift program to illustrate method
  
// Geeks structure
struct Geek
{
    let speed: Int
  
    // Instance method
    func learn() 
    {
        print("learning at \(speed) MPH")
    }
      
    // Type method
    static func write()
    {
        print("write in a swift")
    }
  
}
  
// Driver code
  
// Create Car
let x = Geek(speed: 20)
  
// Instance Method
x.learn()
  
// Type Method
Geek.write()

Producción:

learning at 20 MPH
write in a swift

Diferencia entre función y método

Función

Método

Las funciones tienen una existencia independiente. Se puede definir fuera de la clase. Los métodos no tienen una existencia independiente. Siempre se define dentro de una clase, estructura o enumeración.
Las funciones no tienen ninguna variable de referencia.  Los métodos se llaman utilizando variables de referencia.
Las funciones se llaman de forma independiente.  Los métodos se llaman usando instancias u objetos de la clase.
Las funciones son las propiedades de los lenguajes estructurados. Los métodos son las propiedades del lenguaje orientado a objetos.
Es una pieza de código autodescriptiva.  Se utiliza para manipular la variable de instancia de una clase.
Un tipo particular no debe estar asociado con las funciones. Un método está asociado con una clase, estructura o enumeración en particular.
Toda función no es un método. Todo método es una función.

Publicación traducida automáticamente

Artículo escrito por rushi_javiya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *