Diferencia entre revisiones de «Método (informática)»

Contenido eliminado Contenido añadido
Sin resumen de edición
m Revertidos los cambios de 189.129.194.81 (disc.) a la última edición de 201.227.34.238
Línea 1:
En la [[programación orientada a objetos]], un '''método'''pepe es gaymétodouna no[[subrutina]] comoasociada exclusivamente a una secuencia[[clases de(programación instruccionesorientada sinoa comoobjetos)|clase]] la(llamados forma'''métodos ende queclase''' elo objeto'''métodos esestáticos''') útilo a un [[objetos (elprogramación métodoorientada paraa hacerobjetos)|objeto]] su(llamados '''métodos de trabajoinstancia'''). PorAnálogamente loa tanto,los podemosprocedimientos consideraren allos [[lenguajes imperativos]], un método comoconsiste elgeneralmente pedidode auna unserie objetode sentencias para quellevar realicea cabo una tareaacción, determinadaun ojuego comode laparámetros víade paraentrada enviarque unregularán mensajedicha al objetoacción y, queposiblemente, ésteun reaccionevalor acordede asalida (o valor de retorno) de dichoalgún mensajetipo.
 
Algunos [[lenguajes de programación]] asumen que un método debe de mantener el [[invariante]] del objeto al que está asociado asumiendo también que éste es válido cuando el método es invocado. En lenguajes compilados dinámicamente, los métodos pueden ser [[objetos de primera clase]], y en este caso se puede [[compilador|compilar]] un método sin asociarse a ninguna clase en particular, y luego asociar el vínculo o contrato entre el objeto y el método en [[tiempo de ejecución]].
En cambio en lenguajes no compilados dinámicamente o tipados estáticamente, se acude a [[precondición|precondiciones]] para regular los parámetros del método y [[poscondición|postcondiciones]] para regular su salida (en caso de tenerla). Si alguna de las precondiciones o postcondiciones es falsa el método genera una [[manejo de excepciones|excepción]]. Si el estado del objeto no satisface la invariante de su clase al comenzar o finalizar un método, se considera que el programa tiene un [[error de programación]].
 
La diferencia entre un [[procedimiento]] (generalmente llamado ''función'' si devuelve un valor) y un método es que éste último, al estar asociado con un objeto o clase en particular, puede acceder y modificar los datos privados del objeto correspondiente de forma tal que sea consistente con el comportamiento deseado para el mismo. Así, es recomendable entender a un método no como una secuencia de instrucciones sino como la forma en que el objeto es útil (el método para hacer su trabajo). Por lo tanto, podemos considerar al método como el pedido a un objeto para que realice una tarea determinada o como la vía para enviar un mensaje al objeto y que éste reaccione acorde a dicho mensaje.
 
== Tipos de métodos ==