Está en la página 1de 17

1 UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE INGENIERÌA INDUSTRIAL


CARRERA DE SISTEMAS DE INFORMACION

GRUPO G3 – GAMMA

DOCENTE: ING. JOSE CAICEDO


CURSO: SIN-S-M 2-1
MATERIA: PROGRAMACIÓN ORIENTADA
OBJETO
TEMA: RESUMEN DE METODOS

NOMBRE DE INTEGRANTES:
1. HERRERA DIAZ BRANDO MANUEL
2. CHIRIGUAYA SORIANO KEVIN STEVEN
3. CASTILLO SOLIS DANIEL VICENTE
4. PARRALES TUBAY CRISTHIAN JOSE
5. CASCO OROZCO BRYAN PAUL

GRUPO#3
2 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

MÉTODOS
En un método, es como una unidad mínima de integración de un conjunto de
instrucciones, tiene su propia entidad, se puede llamar en bloques, recibe datos
cuando se llama o se genera durante la ejecución de un método puede devolver
datos.
Su estructura es igual a:
CABECERA
{
CUERPO
}
Los encabezados le permiten especificar esa interfaz, es decir, cómo comunicarse
con el exterior para recibir y/o devolver datos. El cuerpo define la implementación del
algoritmo asociado a la acción o tarea que debe realizar el procedimiento.
PARÁMETRO ACTUAL → PARÁMETRO FORMAL
Los parámetros actuales en la invocación a cada uno de los dos métodos son las
variables:
nombrePersona
superficieInmueble
El parámetro actual en la invocación a un método, puede ser cualquier expresión cuya
evaluación devuelva un dato acorde al esperado por el correspondiente parámetro
formal.
El parámetro formal solamente puede ser, necesariamente, una variable, dado que
actúa como elemento receptor de información transferida al método.
En los dos métodos que estamos tratando nos encontramos con:
this.nombrePropietario = nombrePropietario;
this.superficie = superficie;
Al llamarse igual parámetro formal y su correspondiente atributo (se utiliza este criterio
como convenio), nos encontramos con una ambigüedad. Ante dicha ambigüedad,
referenciar al parámetro formal (dato local al método), prioriza sobre referenciar al
atributo, global y accesible desde todos los métodos del objeto. Dicha circunstancia
se solventa anteponiendo this al atributo, que es una referencia disponible en un
objeto, para “apuntarse” a sí mismo.
La comunicación de datos del método con el “exterior”, también puede ser en sentido
inverso, es decir, el método devuelve al cuerpo invocante, al finalizar su ejecución un

GRUPO#3
3 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION
dato que obtiene o genera el método durante dicha ejecución. Abordaremos para ello
los métodos.
String devolverPropietario() {
return nombrePropietario;
}
Su esquema:

y al método
int devolverSuperficie() {
return superficie;
}
Le corresponde:

Presentan las siguientes características:


• El dato a devolver finalizada la ejecución del método es el que acompaña a
return.
• En la cabecera del método, antes del nombre de este mismo, es necesario
especificar el modificador de tipo, tal que concuerde con el que van a
devolver y acompaña a return.

aquellos que no devuelven dato se caracterizan por:

GRUPO#3
4 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

• No implementar return.
• El modificador

la invocación a ejecución del método puede ser:


métodos con modificador tipo void. - “Aislada”,
casa2.establecerSuperficie(superficieInmueble);
casa2.visualizarSuperficie();
métodos que devuelven dato. - En sustitución de una expresión acorde con el tipo
que devuelven:
int superficieDesencapsulada = casa2.devolverSuperficie();
O integrando una expresión, en sustitución de un operando acorde con el tipo que
devuelven:
int precioMetroCuadrado = 1500;
int valorCatastral = casa2.devolverSuperficie() * precioMetroCuadrado;
System.out.println(“el valor de la vivienda es: “+ valorCatastral);

Caso de que alguno de los datos a aglutinar sea tipo primitivo, este se encapsulará
en su correspondiente clase envoltorio. Este mecanismo de devolver más de un dato
aglutinado en un Object [] se aplicará en ejemplos
Todas las invocaciones responden al esquema:
referencia_al_objeto . nombre_del_método (parámetros_actuales)
En este caso, la invocación al método será simplemente:
nombre_del_método (parámetros_actuales)
en que, como vemos, no se antepone la referencia a objeto. En la invocación a un
método, se pueden transferir o devolver:
datos tipo primitivo. - Se produce una copia del valor transferido entre los diferentes
espacios de memoria implicados. Es el caso de los métodos
establecerSuperficie (. . .)
devolverSuperficie ()
referencias a objetos. - Se produce una copia de la referencia o “apuntador” al objeto,
no del objeto en sí mismo. Es el caso de los métodos
establecerPropietario (. . .)
devolverPropietario ()
Ello puede inducir a confusión, sobre todo a principiantes, dado que, lo que se
transfiere o devuelve desde un método, como ya se ha mencionado, no son los

GRUPO#3
5 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION
objetos en sí mismos, sino un valor referencia que permite «apuntar» a dicho
objeto. Estos mecanismos relacionados con, la transferencia o devolución de valores
referencia a un método, se tratarán ampliamente mediante ejemplos en el tema de
este libro en que se trata la Composición. Estas se van desapilando progresivamente
en sentido inverso con que se fueron apilando conforme van finalizando la ejecución
los métodos, desde el último invocado, hasta el primer cuerpo invocante, que suele
ser el método main. Dicho entorno es un área de memoria, destinada a ubicar, entre
otros, los parámetros formales, en que se almacenará el valor transferido, y, en su
caso, el dato a devolver por el método mediante return. También se ubican en el
entorno de ejecución de un método, las variables locales del método. El ámbito de
vida de un dato ubicado en el entorno de ejecución de un método está limitado al
tiempo en que está pendiente de finalizar la ejecución de dicho método. Cuando
finaliza la ejecución del método, se desapila su entorno de ejecución, liberándose la
memoria que ocupa.
Ello puede inducir a confusión, sobre todo a principiantes, dado que, lo que se
transfiere o devuelve desde un método, como ya se ha mencionado, no son los
objetos en sí mismos, sino un valor referencia que permite «apuntar» a dicho
objeto. Estos mecanismos relacionados con, la transferencia o devolución de valores
referencia a un método, se tratarán ampliamente mediante ejemplos en el tema de
este libro en que se trata la Composición. El ámbito de vida de un dato ubicado en el
entorno de ejecución de un método está limitado al tiempo en que está pendiente de
finalizar la ejecución de dicho método. Cuando finaliza la ejecución del método, se
desapila su entorno de ejecución, liberándose la memoria que ocupa.
respondiendo al esquema:
new Clase (). invocarMetodo ();
que equivale a:
Clase referencia = new Clase ();
referencia. invocarMetodo ();
En ocasiones, nos lo encontramos también aplicado a return:
return new Clase (). invocarMetodo ();
Implementación abreviada equivalente a:
Clase referencia = new Clase ();

GRUPO#3
6 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION
ClaseDatoADevolver datoADevolver = referencia. invocarMetodo ();
return datoADevolver;
Dichas actuaciones abreviadas podemos implementarlas cuando se instancia un
objeto, y solamente se procederá a una sola invocación a cualquiera de sus
métodos, desde el ámbito invocante.
• la declaración de la referencia
• la asignación del operador new a dicha referencia

GRUPO#3
7 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

Metodos: definición y uso

Los métodos se utilizan para definir operaciones sobe ciertos datos con el fin de proporcionar
Cierto resultado. Estos métodos, a partir de ciertos datos, devuelven un resultado (valor de
retorno) o realizan acciones sobre los datos sin devolver explícitamente ningún valor. A través
de los métodos se define la funcionalidad de una clase. Por ejemplo, en la definición (le la
Clase Tipo de Dato Circulo se tienen los métodos consultores getRadioO o getColorO o el
metodo modificador setRadio(double), que de- finen que sobre un objeto de tipo Circulo se
pueden realizar las operaciones de consultar su radio o su color o modificar el valor de su
radio. También son ejemplos de métodos públicos los que definen la funcionalidad de una
Clase de Utilidades, y el método main de una Clase Programa En cualquier clase se pueden
definir métodos para agrupar e identificar una se- cuencia de acciones con el fin de poder ser
utilizadas una o mas veces a lo largo de la clasei Es lo que se conoce como subprogramacióii
o encapsulamiento del código. Así, se facilita la reutilización y mantenimiento del código ya
que se favorece:

I la legibilidad, puesto que el código queda Inejor organizado en tareas y sub- tareas, cuyos
detalles mas o menos prolijos no se describen innecesariamente mas de una vez.

la seguiidad, dado que si se llega a desarrollar un metodo sin errores, cuale quiera de sus
usos funcionará correctamente.

Definición de métodos: métodos de Clase y de objeto

Un método es un segmento de codigo, debidamente encapsulado y parametrizado que se


puede usar en otras partes del codigo, produciendo un valor resultante o teniendo algún
efecto sobre los datos o en la ejecución del programa. La declaración de un método consiste
en describir el metodo, dandole un nombre, e indicando que parametros tiene, de que tipo es
el resultado que produce y que codigo se ejecuta al usarlo. La declaración de los metodos se
incluye en una clase para que se puedan usar en la propia clase o queden dispuestos para
dar servicio a otras aplicacionesi Su sintaxis se describe con todo detalle en la sección 4.2i
El uso de un metodo con unos valores concretos de los parametros se denomina llamada o
invocación del nietodo, y su sintaxis se describe en la sección 4.12. El lenguaje otorga al
programador la capacidad de decidir que nietodos puede ser útil declarar y, con ciertas
restricciones, en que clases puede ser útil incluir su declaración, Sin embargo, ambos
aspectos tienen una gran influencia en la usabilidad del código desarrollado, por lo que el
propio lenguaje propicia una determinada forma de organización de los metodos.

GRUPO#3
8 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

Ejemplo:

En el programa de la figura se introducen los tres vértices de un triángulo como objetos de la


clase Punto presentada en la sección El programa calcula la longitud de sus lados y,
finalmente, su perímetro. Supóngase que en el programa se hubiese declarado un método
de nombre distancia que reeibiese como datos dos puntos y calculase la distancia entre ellos,
tal como se muestra en la figura Las líneas 20 a 30 del programa origie nal se han sustituido
por las siguientes instrucciones, que ilustran cónio es posible reutilizar tres veces un mismo
método para simplificar el código:

Ejemplos

métodos de utilidad general en la manipulación de puntos se tengan que reescribir ad hoc en


cada programa que necesite usarlos. Lo más lógico parece ser concentrar en lo posible todos
estos métodos básicos en un solo lugar, que debe ser en donde resida toda la información
acerca de cómo es y que se puede hacer con un punto7 es decir, la propia clase Punto. En
concreto, una clase en la POO y en particular en Java, es tanto el contenedor de la descripcion
de la estructura de sus objetos como del repertorio de métodos

GRUPO#3
9 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION
El desarrollo de la clase7 ya que al reunir información de la forma de los ob jetos y la
funcionalidad deseada, la implementación de los metodos puede ser más eficiente. Incluso
la estructura que sc cló a los objetos dc una clase puede supoditarsc a simplificar la escritura
dc sus métodos. n
El uso de la clase, particularmente la localización y consulta de los métodos asociados, dado
que el programador cuenta con que en dicha Clase se reúna su funcionalidad básica.

Los métodos de objeto son aquellos que se definen en una clase para
crear y manipular la información de un objeto de la clase. Se distingue entre:
Métodos constructores: Permiten crear los objetos de una clase (usando el operador new),
Son eonsustanciales a las clases y existen por defecto, tal como se ha explicado en el capítulo
3, Se han visto ejemplos de su uso al crear objetos de la clase Circulo o de la clase Punto. o

Métodos de instancia: Permiten manipular la información de un objeto de la clase previamente


creado, aplicandoselos mediante la notación es- pecial de “.77. Por ejemplo, el método
setRadio (double) para modificar el radio de un objeto Circulo. I
Los métodos de clase, por el contrario, son los métodos que no se aplican sobre un objeto de
la clase. Se deben declarar como static, de ahí que se les llame también métodos estáticos
(y, en contraposición, a los métodos de objeto se les llame métodos dinámicos).

GRUPO#3
10 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

Llamadas a métodos: perfil y sobrecarga


En los ejemplos de documentación de las figuras 4.3, 4.4, 4.5 y 4.6 se observa que, además
de dar una descripción del cálculo y efecto clel uso de cada metodo, se da su pmfil o cabecera
que incluye: I Nombre, identificador que distingue al método. Un constructor siempre tiene el
mismo nombre que la clase. n
Lista de parámetros, indica cuántos parámetros iene el método y de qué tipo es cada uno (le
ellos, -
Tipo de retoma, tipo del resultado del método Los métodos constructores no tienen tipo de
retorno. Todos los otros metodos sí que tienen tipo de retorno7 incluso cuando el método no
da ningún valor resultante7 en cuyo caso el tipo es void. I
Si el método es estático, aparece al inicio del perfil la palabra reservada static.

GRUPO#3
11 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION
Declaración de métodos.
Para que un método se pueda usar, se debe tener declarado o descrito en
alguna clase.
Asimismo, el usuario puede declarar en sus clases y programas los métodos
que considere necesarios, con la restricción de que los métodos de objeto
constructores y de instancia, que pueden aplicarse a cierta clase, se deben
incluir siempre dentro de la propia clase.
La declaración de un método viene dada por la cabecera, seguida del cuerpo o
bloque de instrucciones, que se ejecutaran cada vez que el método sea
empleado.
El modificador static quiere decir que está declarado un método estático o de
clase, si no se declara ningún constructor la clase, la clase tiene el constructor
por defecto.

Modificadores de visibilidad o acceso


Se logra mediante el uso de tres modificadores: public, private y por último
protected, los cuales son el control de acceso a los métodos de una clase.

• Public: Se puede usar en cualquier otra clase y, por lo tanto, son los que
definen la funcionalidad de la clase.

• Private: Son aquellos que sólo se puede usar en el código que se escriba
dentro de la propia clase en la que se la declara.

• Protected: Están relacionados con la herencia.

Tipos de retorno. Instrucción return


Puede ser de tanto un tipo de valor primitivo como una referencia un pequeño
ejemplo tenemos: El método index0f(char) de String el cual retorna un int.
Además, la palabra reservada void indica que el método no devuelve ningún
valor, como es el caso del método gc() de la clase System.

Return expresión;

“expresion” puede ser cualquier tipo de retorno del método. Cuando se ejecuta
esta instrucción, se evalúa la expresión y el valor resultante como resultado de
la ejecución del método, que se da por terminada.

Lista de parámetros.

GRUPO#3
12 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION
La sintaxis de la lista de parámetros de un método el cual se sitúa entre
paréntesis (), es el identificador del método es la siguiente:

En la lista de parámetros se debe especificar separadamente el tipo de cada


parámetro, no siendo posible listas de este estilo (int a, b, c).

• Parámetros formales: Son los que aparecen en la cabecera del método.

• Parámetros reales de la llamada: Son los valores que pasan como argumentos
en la llamada al método.

Cuerpo del método. Acceso a variables. Referencia this.


Puede contener cualquier secuencia de instrucciones válida, incluyendo
declaraciones de variables, llamadas a otros métodos o inclusive al mismo.
Por ejemplo:

Los
Los parámetros no tienen valor concreto asignado, pues esté se les da cuando
se realiza la llamada al método. Al hacer una llamada como bisiesto (2012) es
cuando, en concreto, el parámetro anyo toma el valor 2012.

Si el método tiene un tipo de retorno distinto al void debe contener al menos


una instrucción return:

Siempre que c reciba como valor una letra minúscula, retornará la


correspondiente mayúscula. Ejemplo: minusAMayus (“f”) toma el valor “F”
El siguiente método:

Retornaría “28/01/0814” si se invoca como fecha (28, 1, 814).


El ámbito de las variables en el cuerpo de un método es como sigue:

• Las variables colocadas en el cuerpo son locales al método.

GRUPO#3
13 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

• Los parámetros formales se consideran variables locales que se inician con el


valor de los parámetros reales de la llamada

• Cualquier método puede acceder a los atributos de los objetos que manipule,
se cual sea su clase.

Por ejemplo, el hecho de que los atributos x e y de la clase. Punto estén


declarados públicos, permite que la clase se pueda incluir de la declaración del
siguiente método.

En cambio, si en la clase. Punto los atributos x e y se hubiesen declarado


private, la complicación del método anterior presentaría los siguientes errores.
• x has private acces in Punto
• y has private access in Punto

El cálculo de la distancia entre dos puntos se podría declarar dentro de la propia


clase punto, en cuyo caso sería posible escribirlo como un método de instancia
con el perfil:

En donde uno de los puntos p y el otro es el punto sobre el que se aplica el


método.
En general , los métodos de instancia trabajan con un parámetro adicional que
no aparece de manera explícita en la cabecera.

• En el caso de un método de instancia, el objeto en curso es el objeto concreto


de la clase.

• En el caso de un constructor el objeto en curso es el propio objeto creado por


el método.

GRUPO#3
14 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

Documentación de métodos: javadoc


Es importante documentar adecuadamente las clases para utilizar la herramienta
javadoc [Ora16c], se puede generar la documentación pertinente. Entonces, cualquier
programador que necesite usar una determinada clase solo necesitará consultar su
documentación para ver cómo usarla. Los comentarios de la documentación deben
preceder a la definición de una clase, método u otro objeto global para que se cree
javadoc.
En particular la documentación de los métodos de una Clase sirve para dos fines
diferentes:
• Previamente a la implementación, específica todas las características que se
esperan del método, y dicha implementación debe ajustarse a lo especificado.

• Posterior e independientemente de la implementación, indica cómo usar los


métodos, es decir cuál es su perfil, que condiciones especiales deben cumplir
los parámetros, si las hubiere, y cuál es el resultado que se obtiene en cada
caso de los datos.

Se debe evitar, en la medida de lo posible, incluir cualquier referencia a como se han


implementado, Es en el cuerpo de los métodos donde deben aparecer los
comentarios (la implementación; de esta forma, cualquier refinamiento que se hiciera
sobre el código del método no afectaría su documentación.
Los comentarios preceden al código del método y están separados por /** y */. Estos
párrafos deben incluir una descripción de cada parámetro del método y sus
resultados, precedidos por etiquetas @param y @return, respectivamente. Estas
descripciones pueden abarcar varias líneas y terminar en la siguiente etiqueta o al
final de un comentario. El indicador de devolución aparece solo para los métodos que
devuelven un resultado.
La clase también debe venir con su comentario de documentación, que incluye unas
descripciones del autor y de la versión, precedidas por las etiquetas @author y
@version, respectivamente, corno en el siguiente ejemplo:

A continuación, se muestran algunos de los métodos de esta Clase Punto precedidos


por los comentarios de documentación correspondientes:

GRUPO#3
15 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

En la figura
4.13 se
muestra la
documentación obtenida para esta clase a partir de los comentarios introducidos en
el código de la figura 4.11

GRUPO#3
16 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

GRUPO#3
17 UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERÌA INDUSTRIAL
CARRERA DE SISTEMAS DE INFORMACION

GRUPO#3

También podría gustarte