buscador

Visita

Mostrando las entradas con la etiqueta Creación de métodos y variables static. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Creación de métodos y variables static. Mostrar todas las entradas

domingo, 10 de julio de 2016

📍Actividad 8 : 👷 Desarrollo y Uso 👨🏻‍💻 de Métodos en Java ☕️

Bienvenido al Blog, en esta oportunidad desarrollaremos un tema Teórico Practico sobre programación orientado a objetos, para entender sobre cómo desarrollar un sistema con el lenguaje java veremos acerca de  desarrollo y uso de Métodos 👷 en Java.

 Sobre el contenido …

  •     El contenido de este blog tiene como fuente el curso Fundamentos de programación de Oracle.
  •      Con algunos agregados del autor "EL INFORMATICO IBERO"👷
Indice : 
  1. Creación de métodos y llamadas a métodos
  2. Paso de argumentos y devolución de valores
  3. Creación de métodos y variables static
  4. Uso de la sobrecarga de métodos

Creación de Métodos y llamadas a Métodos

La mayor parte del código que se escribe para una clase está contenido dentro de uno o varios métodos. Los métodos permiten dividir el trabajo que realiza el programa en diferentes tareas o comportamientos lógicos.
Por ejemplo, puede que quiera desarrollar un programa que calcule y muestre en la pantalla una cifra total. Aunque todo el código necesario para realizar estas tareas puede incluirse en un solo método, agrupar las distintas tareas puede ayudar a crear programas orientados a objetos más apropiados. En otras palabras, se trata de dividir las tareas en bloques para que cada método pueda utilizarse de forma independiente. Por ejemplo, puede que quiera llamar a un método que calcule el total en una clase, pero no muestre el resultado del cálculo.
La sintaxis de todas las declaraciones de métodos es como sigue:
  • [modificadores] representan determinadas palabras clave de Java que modifican la forma en que se utilizan los métodos. Los modificadores son opcionales (como indican los corchetes).
  • tipo_retorno es el tipo de valor que devuelve un método y que puede utilizarse en algún otro lugar del programa. Los métodos pueden devolver sólo un elemento (valor literal, variable,  referencia a un objeto, etc.). Si el método no debe devolver ningún valor, es preciso especificar la palabra clave void como tipo de retorno.
  • nombreMetodo es el nombre del método.
  • ([argumentos]) representan una lista de variables cuyos valores se pasan al método para que éste los utilice. Los argumentos son opcionales (como indican los corchetes) y muchos métodos no aceptan argumentos.
  • bloque_código_método es una secuencia de sentencias ejecutadas por el método. En el bloque o cuerpo del código del método pueden tener lugar una amplia variedad de tareas.

A menudo, un conjunto de declaraciones de métodos dentro de una clase se conoce con el nombre de interfaz porque define la forma en que los objetos deben interaccionar o relacionarse con otros objetos.

Las declaraciones de métodos también se denominan prototipos de métodos porque proporcionan al programador suficiente información como para determinar la forma en que se utiliza el método.

Forma Básica de un Método

  • El método en su forma básica no acepta argumentos ni devuelve ningún valor. El siguiente método display de la clase Shirt es un método básico:
  • Este método muestra en la pantalla varias líneas de información tal como el valor de las variables itemID y price.

Llamada a un método desde una clase diferente

Para llamar o ejecutar un método situado en otra clase, puede utilizar el operador punto (.) con una variable de referencia a objeto tal y como lo haría para acceder a las variables public de un objeto. En el siguiente ejemplo de código se muestra la clase ShirtTest.
En este ejemplo, se declara e inicializa una variable de referencia a un objeto llamada myShirt con un objeto Shirt. A continuación, esa variable hace una llamada al método displayInformation dentro del objeto Shirt.

Métodos worker y de llamada

  • En el ejemplo anterior, la clase ShirtTest llama al método displayInformation desde el interior de otro método (el método main). Por tanto, el método main se considera como el método de llamada porque está invocando o “llamando” a otro método para que realice algún trabajo. Por su parte, el método displayInformation se considera como el método de ejecución o “worker” porque ejecuta algún trabajo para el método main.
  • Muchos métodos pueden ser de llamada y workers a la vez porque no sólo realizan algún trabajo, sino que además llaman a otros métodos.
  • Cuando un método de llamada ejecuta un método worker, el primero detiene su propia ejecución hasta que finaliza el método worker. Cuando éste finaliza, se indica al flujo del programa que regrese al punto del método de llamada situado justo después de la llamada al método worker.

Llamada a un método en la misma clase

Llamar a un método dentro de la misma clase es fácil. Sólo tiene que incluir el nombre del método worker y sus argumentos, si los tiene. El ejemplo de código siguiente contiene una clase con un método que llama a otro método en la misma clase.

Directrices para realizar llamadas a métodos

Éstas son las normas para crear y realizar llamadas a métodos:
  • No existen límites en cuanto al número de llamadas a métodos que puede realizar un método de llamada.
  • El método de llamada y el worker pueden estar en la misma clase o en clases diferentes.
  • La forma de llamar al método worker varía según se encuentre en la misma clase o en una clase distinta de la del método de llamada.
  • Las llamadas a métodos worker pueden hacerse en cualquier orden. Su ejecución no necesariamente debe efectuarse en el orden en el que figuran dentro de la clase en la que se han declarado (la clase que contiene los métodos worker).

Paso de argumentos y devolución de valores

Directrices para realizar llamadas a métodos

Como hemos mencionado, es posible hacer llamadas a métodos mediante un método de llamada con una lista de argumentos (variables o valores que el método worker puede utilizar). Asimismo, los métodos pueden devolver un valor al método de llamada para que éste lo utilice.

Declaración de métodos con argumentos

Muchos métodos de los que se declaran o se usan a través de las bibliotecas de clases de Java aceptan argumentos. Por ejemplo, el siguiente método setFloor de la clase Elevator acepta el valor int desiredFloor, que se utiliza en el cuerpo del método.

Método main

Recuerde que el método main que ha estado utilizando en las clases de prueba también debe escribirse de forma que acepte argumentos: una o varias (un array) referencias a objetos String.

¿Por qué el método main acepta estos argumentos? El lenguaje Java obliga a escribir el método main de forma que acepte valores cuando el programa se ejecute desde la línea de comandos. Por ejemplo, para pasar un precio de 12.99 y el color R (Rojo) a la clase ShirtTest, ejecute la clase utilizando la máquina virtual de Java con el argumento adicional de precio:

Para que los valores numéricos pasados al método main sean útiles para el programa, deben convertirse las secuencias de caracteres en un tipo de datos primitivo.

Pasar argumentos utilizando el método main es una función de utilidad para probar los programas. No necesita pasar argumentos al método main para cumplir ninguno de los objetivos de este curso. Asimismo, para manejar los argumentos pasados al método main, es preciso tener conocimientos de utilización de arrays, que es un tema de nivel intermedio explicado más adelante en el blog.

Llamadas a métodos con argumentos

Para pasar argumentos de un método a otro, incluya los argumentos en el paréntesis de la llamada del método. Como argumentos, puede pasar valores literales o variables. Como en el caso de la asignación de valores literales a las variables, debe escribir las cadenas literales entre comillas, usar la letra F después de los tipos float, etc.

Escriba la lista de argumentos en el mismo orden que tengan en la declaración del método worker y pase todos los argumentos necesarios.  El compilador verifica si el tipo, orden y número de los parámetros pasados coincide con el tipo, orden y número de los parámetros aceptados por el método.

No es necesario usar los mismos nombres de variables como argumentos al llamar a un método. No obstante, los nombres de variables deben ser de un tipo de datos compatible (puede pasar un tipo byte a un tipo int, etc.).

Paso de argumentos y devolución de valores

Declaración de métodos con valores de retorno

La mayoría de las declaraciones de métodos que ha visto no devuelven ningún valor (void). Sin embargo, muchos de los métodos que creará tendrán valores de retorno y muchos métodos de las bibliotecas de clases de Java también los tienen.

Para declarar un método que devuelva un valor, coloque el tipo de valor de retorno deseado antes del nombre del método. Por ejemplo, la siguiente declaración de método acepta dos tipos int y devuelve un tipo int:

  • Un método sólo puede devolver un valor, pero puede aceptar múltiples argumentos.

Para devolver un valor de un método, utilice la palabra clave return. Por ejemplo, el código siguiente devuelve el valor contenido en la variable resultado.

El siguiente método getFloor de la clase Elevator devuelve el valor contenido en la variable currentFloor.

Recepción de valores de retorno

Si llama a un método que devuelve un valor, como en el caso del método getFloor anterior, puede usar el valor de retorno en el método de llamada.

El ejemplo de código siguiente contiene una clase de prueba que crea una instancia de la clase Elevator, llama a su método getFloor y espera de vuelta un valor int.

Ventajas de usar métodos

Los métodos son los mecanismos mediante los cuales interaccionan los objetos. En los programas Java, es habitual tener varios objetos que interaccionan a través de llamadas recíprocas a sus métodos. He aquí algunas ventajas de usar métodos en los programas:

  • Los métodos facilitan la lectura y el mantenimiento de los programas.  Por ejemplo, es mucho más fácil imaginar lo que hace un programa si el código se divide en diferentes métodos con nombres que explican el comportamiento de cada uno de ellos.
  • Los métodos agilizan el desarrollo y el mantenimiento del código. Por ejemplo, es posible optar por crear y probar un programa método a método para garantizar que funcionará como un todo una vez que se haya finalizado.
  • Los métodos son un componente esencial del software reutilizable.  Por ejemplo, las bibliotecas de clases de Java contienen numerosas clases con métodos que pueden utilizarse una y otra vez en los programas. Igualmente, un programador puede escribir métodos para que otros programadores también los utilicen.
  • Los métodos permiten separar objetos para comunicar y distribuir el trabajo realizado por el programa. Un método de un objeto puede llamar a un método de otro objeto. El objeto puede pasar la información del método y recibir un valor de retorno.

Creación de métodos y variables static

Hasta ahora hemos explicado cómo acceder a los métodos y las variables creando un objeto de la clase a la que pertenecen el método o la variable y llamando al método o accediendo a la variable (si ésta es de tipo public).

Los métodos y variables que son exclusivos de una instancia se denominan métodos y variables de instancia.

También hemos explicado el uso de métodos que no requieren instanciación de objetos, como es caso del método main. Éstos se denominan métodos de clase o estáticos y se les puede llamar sin tener que crear primero un objeto.

Igualmente, el lenguaje Java permite crear variables estáticas o variables de clase, que pueden utilizarse sin crear ningún objeto.

main es un método static que ya ha utilizado. No necesita crear ninguna instancia de objeto para usarlo.

Declaración de métodos static

Los métodos estáticos se declaran con la palabra clave static.

Llamada a los métodos static

Dado que los métodos static o de clase no forman parte de ninguna instancia de objeto (sólo de la clase) no deberían utilizarse variables de referencia a objetos para llamarlos. En su lugar, debe utilizarse el nombre de la clase. La sintaxis para llamar a un método static es como sigue:

La máquina virtual de Java utiliza el nombre de clase suministrado en la línea de comandos para llamar al método main. Por ejemplo, si se escribe java Shirt, la máquina virtual llama al método Shirt.main.

A continuación se muestra un ejemplo de un método que podría agregarse a la clase Shirt para convertir los números de tamaño de las camisas en tamaños expresados en forma de caracteres, como pequeña, mediana o grande. Este método es static porque:

  • No utiliza directamente ningún atributo de la clase Shirt.
  • Puede que sea conveniente llamar al método aunque no se disponga de ningún objeto Shirt.

El método convertShirtSize acepta un tamaño numérico, determina a qué letra corresponde ese tamaño (S, M, L o X) y devuelve esa letra.  Por ejemplo, para acceder al método static convertShirtSize de la clase Shirt:

Declaración de variables static

También puede usar la palabra clave static para indicar que sólo puede haber en la memoria una copia de la variable asociada a una clase, no una copia por cada instancia de un objeto. Por ejemplo:

Acceso a las variables static

Para acceder a una variable static, debe utilizarse el nombre de la clase. La sintaxis para llamar a una variable static es como sigue:

Por ejemplo, para acceder al valor de la variable static PI de la clase Math:

Las variables pueden tener tanto el modificador static como el modificador final para indicar que sólo hay una copia de la variable y que su contenido no puede cambiarse. La variable PI de la clase Math es una variable static final.

A continuación se muestra la constante IGV (variable final), que es también una variable static.

Métodos y variables estáticos en el API de Java

Determinadas bibliotecas de clases de Java, como la clase System, sólo contienen métodos y variables static. La clase System contiene métodos utilitarios para manejar tareas específicas del sistema operativo (no actúan sobre instancias de objetos). Por ejemplo, el método getProperties de la clase System obtiene información sobre el equipo informático que se está utilizando.

Existen varias clases del API Java que son clases utilitarias. Estas clases contienen métodos static que son útiles para todo tipo de objetos. Algunos ejemplos de clases y métodos utilitarios son:

Clase Math, Esta clase contiene métodos y variables para realizar operaciones numéricas básicas tales como las funciones exponenciales, de raíz cuadrada, logarítmicas y trigonométricas elementales.

Clase System, Esta clase contiene métodos y variables para realizar funciones del nivel del sistema tales como recuperar información de las variables de entorno del sistema operativo.

Cuándo declarar un método o variable static

He aquí algunas pistas para saber cuándo declarar un método o una variable como static. Considere la posibilidad de declarar un método o una variable como static si:

No es importante realizar la operación sobre un objeto independiente o asociar la variable a un tipo de objeto concreto.

Es importante acceder a la variable o el método antes de instanciar un objeto.

El método o la variable no pertenece lógicamente a ningún objeto pero posiblemente pertenece a una clase utilitaria, como Math, incluida en el API de Java. La clase Math contiene varios métodos utilitarios static que pueden emplearse en ecuaciones matemáticas.

Uso de la sobrecarga de métodos

En programación Java, puede haber varios métodos en una clase que tengan el mismo nombre pero diferentes argumentos (diferentes firmas de método). Este concepto se denomina sobrecarga de métodos.

Por ejemplo, puede que quiera crear varios métodos para sumar dos números como, por ejemplo, dos tipos int o dos tipos float. Con la sobrecarga de métodos, puede crear varios métodos con el mismo nombre pero diferentes firmas. Por ejemplo, el siguiente ejemplo de código contiene varios métodos sum cada uno de los cuales acepta un conjunto distinto de argumentos.

Para llamar a cualquiera de los métodos sum anteriores, el compilador compara la firma de método de la llamada con las firmas de método de una clase. Por ejemplo, a continuación se muestra un método main que llama a cada uno de los métodos sum contenidos en un objeto Calculator.

Sobrecarga de métodos y el API de Java

Muchos métodos del API de Java están sobrecargados, incluido el método System.out.println. La tabla siguiente contiene todas las variaciones del método println.

Es posible imprimir en la pantalla valores de tipo String, int, float u otros tipos utilizando el método System.out.println porque es un método sobrecargado que utiliza diferentes argumentos según el tipo de dato.

Sin la sobrecarga, necesitaría crear varios métodos con diferentes nombres para imprimir diferentes tipos de datos, por ejemplo, printlnint, printlnfloat, etc. O bien tendría que realizar gran número de conversiones de unos tipos en otros antes de usar un método.

Usos de la sobrecarga de métodos

Cuando escriba código, recuerde que conviene definir métodos sobrecargados si:

Las acciones asociadas al método deben realizarse con diferentes tipos de datos.

También puede utilizar la sobrecarga para crear varios métodos con el mismo nombre pero con diferente número de parámetros.

Por ejemplo, podría crear tres métodos llamados sumar, cada uno con un número de argumentos diferente:

Los tres métodos sum anteriores se llamarían de la siguiente forma en la clase CalculadoraTest:

Ejercicio donde se revisar acerca de los modificadores, constructores y metodos: 📍Practica : Tipo de modificados e Implementación 👨‍💻de Metodos, Constructores  ☕️ en Java ↗

Raul Tamani A. ©. Imágenes del tema de fpm. Con tecnología de Blogger.

Adblock Detectado

Apoya este sitio desactivando el Adblock para seguir navegando. ¡Gracias!

¡Ya Desactive el Adblock!