Você está na página 1de 9

VI. Modularidad.

La modularidad es la capacidad que tiene un sistema de ser estudiado, visto o entendido


como la unin de varias partes que interactan entre s y que trabajan para alcanzar un
objetivo comn, realizando cada una de ellas una tarea necesaria para el cumplimiento de
dicho objetivo. Cada una de esas partes en que se encuentre dividido el sistema recibe el
nombre de mdulo. Idealmente un mdulo debe poder cumplir las condiciones de caja
negra, es decir, ser independiente del resto de los mdulos y comunicarse con ellos (con
todos o slo con una parte) a travs de unas entradas y salidas bien definidas.

Las programacin modular aplicada a la programacin orientada a objetos se le denomina
Modularidad a la propiedad que permite subdividir una aplicacin en partes ms pequeas
(llamadas mdulos), cada una de las cuales debe ser tan independiente como sea posible
de la aplicacin en s y de las restantes partes.

En Java existen dos clases de mdulos: las clases y los mtodos. Para escribir un
programa se tienen que combinar estos dos mdulos.

VI.1. Declaracin de mtodos

Los mtodos (tambin llamados funciones o procedimientos en otros lenguajes de
programacin) son mini programas dentro de un programa. Por medio de los mtodos se
realizar tareas de un proyecto. Los mtodos tienen las siguientes propiedades:

- Un bloque de cdigo que tiene un nombre,
- Recibe unos parmetros o argumentos (opcionalmente),
- Contiene sentencias o instrucciones para realizar algo (opcionalmente) y
- Devuelve un valor (opcionalmente).

La sintaxis global es:

acceso static tipo NombreDelMtodo ([Lista de Argumentos]) {
Declaracin de variables del mtodo
Sentencias del mtodo
[return tipo;]

Donde:
acceso Cada mtodo tiene asociado un tipo que se utiliza para controlar el acceso al
mtodo. Entre estos se encuentran:
public Este mtodo pblico se puede llamar de cualquier cdigo que tenga
acceso a la clase.
private Este mtodo privado solo puede ser llamado desde otros mtodos
dentro de la clase en que se defini el mtodo privado.
protected Este mtodo protegido se puede llamar desde otros mtodos de la clase
en que el mtodo est definido y por cualquier otro mtodo de las clases
que heredan de la clase en que est definido el mtodo. Tambin est
disponible en cualquier objeto de las clases pertenecientes al mismo
paquete en donde est definida la clase.
defecto Si no especifica ningn tipo de acceso, se utiliza el acceso por defecto,
esto significa que el mtodo es accesible a todas las clases contenidas
en le mismo paquete, pero no est accesible fuera de ese paquete.
static Declara el mtodo como mtodo de la clase y no como mtodo del
objeto (no hereda el mtodo).
Nota: Un mtodo declarado como static solo puede ser llamado por otro mtodo static y
hacer referencia a variables static.

tipo Es el tipo de datos que regresara el mtodo. Si se estipula un tipo de
dato void indica el mtodo no regresa ningn valor (void indica ausencia
de valor). Dentro del mtodo para retornar el valor se utiliza la palabra
reservada return y posteriormente el valor, si el tipo de dato del mtodo
se declara void no es necesario utilizar la sentencia return.

NombreDelMtodo Es el nombre que distingue al mtodo y debe estar formado por un
identificador.

Lista de Argumentos Son los valores que se pasarn al mtodo para que realice su tarea.
Para cada argumento se tiene que declarar su tipo de dato. Por ejemplo,
el siguiente mtodo se llama suma2Numeros, recibe como parmetro
dos valores tipo long y regresa un valor long con la suma de los valores
que recibe como parmetro.

static long suma2Numeros( long a, long b) {
return (a + b);
}


Parmetros:

Como ya se dijo los parmetros son las variables definidas en el encabezado del mtodo
que toman los valores que se mandan para que realice un proceso o tarea, adems
existen dos tipos de argumentos:

Por valor: Se realiza una copia del tipo de dato (solo para los datos
primitivos) y se utiliza la copia dentro del mtodo.
Por referencia: Se enva la referencia de un objeto y se utilizar esta referencia,
si el objeto es modificado, se modifica el dato original.

Sobrecarga

En Java es posible definir dos o ms mtodos dentro de una misma clase que compartan
el mismo nombre y que las declaraciones de sus argumentos sean diferentes. En este
caso se dice que los mtodos estn sobrecargados y el fenmeno se conoce como
sobrecarga de mtodos. La sobrecarga es uno de los procedimientos mediante el cual se
implementa el polimorfismo.

En la llamada a los mtodos sobrecargados, el compilador determina cual es el mtodo
involucrado basndose en el nmero o tipo de argumentos. Por consiguiente los mtodos
sobrecargados deben diferenciarse en el nmero o tipos de argumentos. Cuando Java
encuentra una llamada a un mtodo sobrecargado, ejecuta la versin del mtodo cuyos
argumentos (nmero y tipo) coincidan con los argumentos utilizados en la llamada.

Nota: La declaracin de los mtodos sobrecargados no deben ser ambigua, de modo
que el compilador pueda decidir inequvocamente cul mtodo ejecutar.



















Ejercicios:

o Elabore un programa que lea los lados de un triangulo rectngulo y mediante un
mtodo calcule la hipotenusa.

o Elabore un programa que lea el radio de un crculo y mediante un mtodo llamado
calculaArea calcule el rea del crculo, adems mediante otro mtodo llamado
calculaVolumen calcule el volumen del crculo.



VI.2. Mtodos de clase

Los mtodos de clase al igual que las variables de clase, se aplican a la clase como un
todo y no a sus instancias. Para declarar un mtodo como Mtodo de la clase se utiliza
la palabra reservada static:

acceso static tipo nombreMetodoClase (Lista de Argumentos) {
Declaracin de variables del mtodo
Sentencias del mtodo
[return tipo;]

Para acceder a las variables o mtodos de clase se utiliza el operador punto ( . ).

nombreClase.nombreVarClase;
nombreClase.nombreMetodoClase();










VI.3. Mtodos de instancia

Los mtodos de instancia o variables de instancia, los adquieren los objetos al ser
instanciados (creados). Para declarar un mtodo de instancia se declara sin la palabra
reservada static:

acceso tipo nombreMetodoInstancia (Lista de Argumentos) {
Declaracin de variables del mtodo
Sentencias del mtodo
[return tipo;]

Para acceder a las variables o mtodos de instancia se utiliza el operador punto ( . ).

Objeto.nombreVarinstancia;
Objeto.nombreMetodoInstancia();












Producto de Aprendizaje 6.1: Elabore los siguientes ejercicios como mtodos de
clase y mtodos de instancia

1. Elabore un programa que lea los grados Celsius y por medio de un mtodo
llamado convierteAFahrenheit convierta los grados Celsius a grados Fahrenheit.



2. Elabore un programa que mediante los mtodos conversionAPies y
converionApulgadas cambie una cantidad en metros a pies y a pulgadas (1 metro
= 39.37 pulgadas, 1 pie = 12 pulgadas)

3. Una tonelada mtrica equivale a 35,273.92 onzas. Elabore un programa que lea el
peso de un paquete de cereal para el desayuno en onzas y mediante un mtodo
calcule el nmero de cajas necesarias para llenar una tonelada mtrica de cereal.

4. Elabore un programa que lea tres calificaciones y mediante un mtodo calcule el
promedio y determine si el alumno esta Aprobado o Reprobado.


5. Escriba un programa que lea un nmero entero y mediante un mtodo le enve
como argumento ese nmero entero y regrese P si el nmero es positivo, N si fue
negativo y C si fue cero.

6. Elabore un programa que lea dos nmeros y mediante un mtodo determine si un
numero divide al otro exactamente regresando true, en caso contrario regrese
false.

7. Escriba un programa que mediante un mtodo determine si una cadena es
palndromo (un palndromo es una palabra que se lee igual en sentido directo
como inverso, por ejemplo radar).

8. Escriba un programa que lea dos enteros positivos n y b que llame a un mtodo
cambiarBase para calcular y visualizar la representacin del nmero n en la base
b.

9. Escriba un programa que tenga un mtodo inverso que se le enve un argumento
numrico y regrese su inverso, por ejemplo 1847, el inverso es 7481.




10. Escriba un programa que lea un valor x != 0 y por medio de mtodo regrese el
valor de la siguiente expresin:

|
|
.
|

\
|
1
1
435 . 1
5
x
e
x


11. Escriba un programa que mediante un mtodo que reciba dos argumentos x y n
devuelva el siguiente valor:

0
1 1
0
2
1 1
2
<

+
>=
+
+
+
+
x si
n
x
n
x
x si
x
x
n
x
x
n n
n n



12. Escriba un programa que mediante un mtodo que tome como argumentos las
longitudes de los tres lados de un triangulo (a, b y c), devuelva el rea del
triangulo.

2
) )( )( (
c b a
p donde
c p b p a p p Area
+ +
=
=

Você também pode gostar