fundamentos de programación unidad 6

9
VI. Modularidad. La modularidad es la capacidad que tiene un sistema de ser estudiado, visto o entendido como la unión de varias partes que interactúan entre sí y que trabajan para alcanzar un objetivo común, 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 módulo. Idealmente un módulo debe poder cumplir las condiciones de caja negra, es decir, ser independiente del resto de los módulos y comunicarse con ellos (con todos o sólo con una parte) a través de unas entradas y salidas bien definidas. Las programación modular aplicada a la programación orientada a objetos se le denomina Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. En Java existen dos clases de módulos: las clases y los métodos. Para escribir un programa se tienen que combinar estos dos módulos. VI.1. Declaración de métodos Los métodos (también llamados funciones o procedimientos en otros lenguajes de programación) son mini programas dentro de un programa. Por medio de los métodos se realizar tareas de un proyecto. Los métodos tienen las siguientes propiedades: Un bloque de código que tiene un nombre, Recibe unos parámetros o argumentos (opcionalmente), Contiene sentencias o instrucciones para realizar algo (opcionalmente) y Devuelve un valor (opcionalmente). La sintaxis global es: acceso static tipo NombreDelMétodo ([Lista de Argumentos]) { Declaración de variables del método Sentencias del método [return tipo;] Donde: acceso Cada método tiene asociado un tipo que se utiliza para controlar el acceso al método. Entre estos se encuentran:

Upload: panchoxman-urenda

Post on 14-Feb-2015

143 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Fundamentos de Programación Unidad 6

VI. Modularidad.

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

como la unión de varias partes que interactúan entre sí y que trabajan para alcanzar un

objetivo común, 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 módulo. Idealmente un módulo debe poder cumplir las condiciones de caja

negra, es decir, ser independiente del resto de los módulos y comunicarse con ellos (con

todos o sólo con una parte) a través de unas entradas y salidas bien definidas.

Las programación modular aplicada a la programación orientada a objetos se le denomina

Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas

(llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible

de la aplicación en sí y de las restantes partes.

En Java existen dos clases de módulos: las clases y los métodos. Para escribir un

programa se tienen que combinar estos dos módulos.

VI.1. Declaración de métodos

Los métodos (también llamados funciones o procedimientos en otros lenguajes de

programación) son mini programas dentro de un programa. Por medio de los métodos se

realizar tareas de un proyecto. Los métodos tienen las siguientes propiedades:

Un bloque de código que tiene un nombre,

Recibe unos parámetros o argumentos (opcionalmente),

Contiene sentencias o instrucciones para realizar algo (opcionalmente) y

Devuelve un valor (opcionalmente).

La sintaxis global es:

acceso static tipo NombreDelMétodo ([Lista de Argumentos]) {

Declaración de variables del método

Sentencias del método

[return tipo;]

Donde:

acceso Cada método tiene asociado un tipo que se utiliza para controlar el acceso al

método. Entre estos se encuentran:

Page 2: Fundamentos de Programación Unidad 6

public Este método público se puede llamar de cualquier código que tenga

acceso a la clase.

private Este método privado solo puede ser llamado desde otros métodos

dentro de la clase en que se definió el método privado.

protected Este método protegido se puede llamar desde otros métodos de la clase

en que el método está definido y por cualquier otro método de las clases

que heredan de la clase en que está definido el método. También está

disponible en cualquier objeto de las clases pertenecientes al mismo

paquete en donde está definida la clase.

defecto Si no especifica ningún tipo de acceso, se utiliza el acceso por defecto,

esto significa que el método es accesible a todas las clases contenidas

en le mismo paquete, pero no está accesible fuera de ese paquete.

static Declara el método como método de la clase y no como método del

objeto (no hereda el método).

Nota: Un método declarado como static solo puede ser llamado por otro método static y

hacer referencia a variables static.

tipo Es el tipo de datos que regresara el método. Si se estipula un tipo de

dato void indica el método no regresa ningún valor (void indica ausencia

de valor). Dentro del método para retornar el valor se utiliza la palabra

reservada return y posteriormente el valor, si el tipo de dato del método

se declara void no es necesario utilizar la sentencia return.

NombreDelMétodo Es el nombre que distingue al método y debe estar formado por un

identificador.

Lista de Argumentos Son los valores que se pasarán al método para que realice su tarea.

Para cada argumento se tiene que declarar su tipo de dato. Por ejemplo,

el siguiente método se llama suma2Numeros, recibe como parámetro

dos valores tipo long y regresa un valor long con la suma de los valores

que recibe como parámetro.

static long suma2Numeros( long a, long b) {

return (a + b);

}

Page 3: Fundamentos de Programación Unidad 6

Parámetros:

Como ya se dijo los parámetros son las variables definidas en el encabezado del método

que toman los valores que se mandan para que realice un proceso o tarea, además

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 método.

Por referencia: Se envía 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 más métodos 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 métodos están sobrecargados y el fenómeno se conoce como

sobrecarga de métodos. La sobrecarga es uno de los procedimientos mediante el cual se

implementa el polimorfismo.

En la llamada a los métodos sobrecargados, el compilador determina cual es el método

involucrado basándose en el número o tipo de argumentos. Por consiguiente los métodos

sobrecargados deben diferenciarse en el número o tipos de argumentos. Cuando Java

encuentra una llamada a un método sobrecargado, ejecuta la versión del método cuyos

argumentos (número y tipo) coincidan con los argumentos utilizados en la llamada.

Nota: La declaración de los métodos sobrecargados no deben ser ambigua, de modo

que el compilador pueda decidir inequívocamente cuál método ejecutar.

Page 4: Fundamentos de Programación Unidad 6

Ejercicios:

o Elabore un programa que lea los lados de un triangulo rectángulo y mediante un

método calcule la hipotenusa.

o Elabore un programa que lea el radio de un círculo y mediante un método llamado

calculaArea calcule el área del círculo, además mediante otro método llamado

calculaVolumen calcule el volumen del círculo.

VI.2. Métodos de clase

Los métodos 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 método como “Método de la clase” se utiliza

la palabra reservada static:

acceso static tipo nombreMetodoClase (Lista de Argumentos) {

Declaración de variables del método

Sentencias del método

[return tipo;]

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

nombreClase.nombreVarClase;

nombreClase.nombreMetodoClase();

Page 5: Fundamentos de Programación Unidad 6
Page 6: Fundamentos de Programación Unidad 6

VI.3. Métodos de instancia

Los métodos de instancia o variables de instancia, los adquieren los objetos al ser

instanciados (creados). Para declarar un método de instancia se declara sin la palabra

reservada static:

acceso tipo nombreMetodoInstancia (Lista de Argumentos) {

Declaración de variables del método

Sentencias del método

[return tipo;]

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

Objeto.nombreVarinstancia;

Objeto.nombreMetodoInstancia();

Page 7: Fundamentos de Programación Unidad 6
Page 8: Fundamentos de Programación Unidad 6

Producto de Aprendizaje 6.1: Elabore los siguientes ejercicios como métodos de

clase y métodos de instancia

1. Elabore un programa que lea los grados Celsius y por medio de un método

llamado convierteAFahrenheit convierta los grados Celsius a grados Fahrenheit.

2. Elabore un programa que mediante los métodos 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 métrica 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 método

calcule el número de cajas necesarias para llenar una tonelada métrica de cereal.

4. Elabore un programa que lea tres calificaciones y mediante un método calcule el

promedio y determine si el alumno esta “Aprobado” o “Reprobado”.

5. Escriba un programa que lea un número entero y mediante un método le envíe

como argumento ese número entero y regrese P si el número es positivo, N si fue

negativo y C si fue cero.

6. Elabore un programa que lea dos números y mediante un método determine si un

numero divide al otro exactamente regresando true, en caso contrario regrese

false.

7. Escriba un programa que mediante un método determine si una cadena es

palíndromo (un palíndromo 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 método

cambiarBase para calcular y visualizar la representación del número n en la base

b.

9. Escriba un programa que tenga un método inverso que se le envíe un argumento

numérico y regrese su inverso, por ejemplo 1847, el inverso es 7481.

Page 9: Fundamentos de Programación Unidad 6

10. Escriba un programa que lea un valor x != 0 y por medio de método regrese el

valor de la siguiente expresión:

1

1435.1

5

x

ex

11. Escriba un programa que mediante un método que reciba dos argumentos x y n

devuelva el siguiente valor:

011

02

11

2

xsin

x

n

x

xsix

x

n

xx

nn

nn

12. Escriba un programa que mediante un método que tome como argumentos las

longitudes de los tres lados de un triangulo (a, b y c), devuelva el área del

triangulo.

2

))()((

cbapdonde

cpbpappArea