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

Contenido eliminado Contenido añadido
Camilo (discusión · contribs.)
m Revertidos los cambios de 201.173.62.56 a la última edición de Nicop
Línea 6:
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 ==
ADAN RODRIGUEZ
Como ya se mencionó, los métodos de instancia están relacionados con un objeto en particular, mientras que los métodos estáticos o de clase (también denominados métodos compartidos) están asociados a una clase en particular. En una [[implementación]] típica, a los métodos de [[instancia]] se les pasa una referencia oculta al objeto al que pertenecen, comúnmente denominada ''this'' o ''self'' (referencias a sí mismo por sus significados en [[Idioma inglés|inglés]]), para que puedan acceder a los datos asociados con el mismo. Un ejemplo típico de un método de clase sería uno que mantuviera la cuenta de la cantidad de objetos creados dentro de esa clase.
 
Los llamados ''métodos obtener'' y ''métodos establecer'' (en inglés ''get'' y ''set'') proveen un mecanismo para leer y modificar (respectivamente) los datos ''privados'' que se encuentran almacenados en un objeto o clase.
 
Algunos [[lenguajes de programación]] requieren la definición de [[Constructor (informática)|constructores]], siendo estos métodos de instancia especiales llamados automáticamente cuando se crea una instancia de alguna clase. En [[Lenguaje de programación Java|Java]] y [[C++]] se distinguen por tener el mismo nombre de la clases a la que están asociados. Lenguajes como [[Smalltalk]] no requieren constructores ni destructores.
 
Los ''métodos de acceso'' son un tipo de método normalmente pequeño y simple que se limita a proveer información acerca del estado de un objeto. Aunque introduce una nueva dependencia, la utilización de métodos es preferida a acceder directamente a la información para proveer de una nueva capa de [[abstracción (programación orientada a objetos)]]. Por ejemplo, si una clase que modela una cuenta bancaria provee de un método de acceso ''"obtenerBalance()"'' en versiones posteriores de la clase se podría cambiar el código de dicho método substancialmente sin que el código dependiente de la clase tuviese que ser modificado (un cambio sería necesario siempre que el [[tipo de dato]] devuelto por el método cambie). Los métodos de acceso que pueden cambiar el estado de un objeto son llamados, frecuentemente, ''métodos de actualización'' ó ''métodos de mutación''; a su vez, los objetos que proveen de dichos métodos son denominados ''óbjetos mutables''.
 
{{ORDENAR:Metodo (informatica)}}
[[Categoría:Programación orientada a objetos]]
 
[[be-x-old:Мэтад (праграмаваньне)]]
[[bs:Računarska metoda]]
[[cs:Metoda (objektově orientované programování)]]
[[de:Objektorientierte Programmierung#Methoden]]
[[en:Method (computer science)]]
[[et:Meetod (programmeerimine)]]
[[fr:Méthode (informatique)]]
[[it:Metodo (programmazione)]]
[[ja:メソッド (計算機科学)]]
[[lt:Metodas (programavimas)]]
[[nl:Methode (objectoriëntatie)]]
[[pl:Metoda (programowanie obiektowe)]]
[[pt:Método (programação)]]
[[ru:Метод (языки программирования)]]
[[sh:Metoda (informatika)]]
[[simple:Method (computer science)]]
[[sv:Funktion (programmering)#Metod]]
[[ta:செயலி (கணினியியல்)]]
[[uk:Метод (програмування)]]
[[zh:方法 (電腦科學)]]