6 - Guía POO-2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Por último, un método de tipo operación es aquel que realiza un cálculo o modifica el estado

de un objeto. Este tipo de métodos pueden incluir una lista de parámetros y puede devolver
un valor o no. Si el método no devuelve un valor, se declara void.

Invocación de métodos
Un método se puede invocar dentro o fuera de la clase donde se ha declarado. Si el método
se invoca dentro de la clase, basta con indicar su nombre. Si el método se invoca fuera de la
clase entonces se debe indicar el nombre del objeto y el nombre del método. Cuando se
invoca a un método ocurre lo siguiente:

• En la línea de código del programa donde se invoca al método se calculan los valores de
los argumentos.
• Los parámetros se inicializan con los valores de los argumentos.
• Se ejecuta el bloque código del método hasta que se alcanza return o se llega al final del
bloque.
• Si el método devuelve un valor, se sustituye la invocación por el valor devuelto.
• La ejecución del programa continúa en la siguiente instrucción donde se invocó el
método.

Parámetros y argumentos
Los parámetros de un método definen la cantidad y el tipo de dato de los valores que recibe
un método para su ejecución. Los argumentos son los valores que se pasan a un método
durante su invocación. El método recibe los argumentos correspondientes a los parámetros
con los que ha sido declarado. Un método puede tener tantos parámetros como sea
necesario. La lista de parámetros de la cabecera de un método se define con la siguiente
sintaxis:

tipo nombre [tipo nombre,]

Durante la invocación de un método es necesario que el número y el tipo de argumentos


coincidan con el número y el tipo de parámetros declarados en la cabecera del método.
Durante el proceso de compilación se comprueba que durante la invocación de un método
se pasan tantos argumentos como parámetros tiene declarados y que además coinciden
los tipos. Esta es una característica de los lenguajes que se denominan “strongly typed” o
“fuertemente tipados”.

Paso de parámetros
Cuando se invoca un método se hace una copia de los valores de los argumentos en los
parámetros. Esto quiere decir que, si el método modifica el valor de un parámetro, nunca se
modifica el valor original del argumento.

Cuando se pasa una referencia a un objeto se crea un nuevo alias sobre el objeto, de manera
que esta nueva referencia utiliza el mismo espacio de memoria del objeto original y esto
permite acceder al objeto original.

El valor de retorno
Un método puede devolver un valor. Los métodos que no devuelven un valor se declaran
void, mientras que los métodos que devuelven un valor indican el tipo que devuelven: int,
double, char, String o un tipo de objeto.

5
Sobrecarga de métodos
La sobrecarga de métodos es útil para que el mismo método opere con parámetros de
distinto tipo o que un mismo método reciba una lista de parámetros diferente. Esto quiere
decir que puede haber dos métodos con el mismo nombre que realicen dos funciones
distintas. La diferencia entre los métodos sobrecargados está en su declaración, y más
específicamente, en la cantidad y tipos de datos que reciben.

ABSTRACCIÓN Y ENCAPSULAMIENTO
La abstracción es la habilidad de ignorar los detalles de las partes para enfocar la atención
en un nivel más alto de un problema. El encapsulamiento sucede cuando algo es envuelto
en una capa protectora. Cuando el encapsulamiento se aplica a los objetos, significa que los
datos del objeto están protegidos, “ocultos” dentro del objeto. Con los datos ocultos, ¿cómo
puede el resto del programa acceder a ellos? (El acceso a los datos de un objeto se refiere
a leerlos o modificarlos.) El resto del programa no puede acceder de manera directa a los
datos de un objeto; lo tiene que hacer con ayuda de los métodos del objeto. Al hecho de
proteger los datos o atributos con los métodos se denomina encapsulamiento.

ABSTRACCIÓN
La abstracción es la propiedad que considera los aspectos más significativos o notables de
un problema y expresa una solución en esos términos. La abstracción posee diversos grados
o niveles de abstracción, los cuales ayudan a estructurar la complejidad intrínseca que
poseen los sistemas del mundo real. La abstracción encarada desde el punto de vista de la
programación orientada a objetos es el mecanismo por el cual se proveen los límites
conceptuales de los objetos y se expresan sus características esenciales, dejando de lado
sus características no esenciales. Si un objeto tiene más características de las necesarias
los mismos resultan difíciles de usar, modificar, construir y comprender. En el análisis hay
que concentrarse en ¿Qué hace? y no en ¿Cómo lo hace?

ENCAPSULAMIENTO
La encapsulación o encapsulamiento significa reunir en una cierta estructura a todos los
elementos que a un cierto nivel de abstracción se pueden considerar pertenecientes a una
misma entidad, y es el proceso de agrupamiento de datos y operaciones relacionadas bajo
una misma unidad de programación, lo que permite aumentar la cohesión de los
componentes del sistema.

El encapsulamiento oculta lo que hace un objeto de lo que hacen otros objetos y del mundo
exterior por lo que se denomina también ocultación de datos. Un objeto tiene que presentar
“una cara” al mundo exterior de modo que se puedan iniciar sus operaciones.
Los métodos operan sobre el estado interno de un objeto y sirven como el mecanismo
primario de comunicación entre objetos. Ocultar el estado interno y hacer que toda
interacción sea a través de los métodos del objeto es un mecanismo conocido como
encapsulación de datos.

6
MODIFICADORES DE ACCESO
Para lograr el uso correcto del encapsulamiento vamos utilizar los modificadores de acceso,
estos, van a dejarnos elegir como se accede a los datos y a través de que se accede a dichos
datos. Todas las clases poseen diferentes niveles de acceso en función del modificador de
acceso (visibilidad). A continuación, se detallan los niveles de acceso con sus símbolos
correspondientes:

• Public: Este modificador permite a acceder a los elementos desde cualquier clase,
independientemente de que esta pertenezca o no al paquete en que se encuentra el
elemento.

• Private: Es el modificador más restrictivo y especifica que los elementos que lo utilizan
sólo pueden ser accedidos desde la clase en la que se encuentran. Este modificador
sólo puede utilizarse sobre los atributos de una clase y sobre interfaces y clases internas,
no sobre clases o interfaces de primer nivel, dado que esto no tendría sentido. Es
importante destacar también que el modificador private convierte los elementos en
privados para otras clases, no para otras instancias de la clase. Es decir, un objeto de una
determinada clase puede acceder a los atributos privados de otro objeto de la misma
clase.

• Protected: Este modificador indica que los elementos sólo pueden ser accedidos desde
su mismo paquete y desde cualquier clase que extienda la clase en que se encuentra,
independientemente de si esta se encuentra en el mismo paquete o no. Este
modificador, como private, no tiene sentido a nivel de clases o interfaces no internas.

Si no especificamos ningún modificador de acceso se utiliza el nivel de acceso por defecto


(Default), que consiste en que el elemento puede ser accedido sólo desde las clases que
pertenezcan al mismo paquete. Los distintos modificadores de acceso quedan resumidos
en la siguiente tabla

Visibilidad Public Private Protected Default

Desde la misma Clase SI SI SI SI


Desde cualquier Clase del SI NO SI SI
mismo Paquete

Desde una Subclase del SI NO SI SI


mismo Paquete

Desde una Subclase fuera del SI NO SI, a través de NO


mismo Paquete la herencia

Desde cualquier Clase fuera SI NO NO NO


del Paquete

7
ATRIBUTOS Y METODOS ESTÁTICOS
Un atributo o un método de una clase se puede modificar con la palabra reservada static
para indicar que este atributo o método no pertenece a las instancias de la clase si no a la
propia clase.

Se dice que son atributos de clase si se usa la palabra clave static: en ese caso la variable es
única para todas las instancias (objetos) de la clase (ocupa un único lugar en memoria), es
decir que, si se poseen múltiples instancias de una clase, cada una de ellas no tendrán una
copia propia de este atributo, si no que todas estas instancias compartirán una misma copia
del atributo. A veces a las variables de clase se les llama variables estáticas. Si no se usa
static, el sistema crea un lugar nuevo para esa variable con cada instancia (la variable es
diferente para cada objeto).

En el caso de una constante no tiene sentido crear un nuevo lugar de memoria por cada
objeto de una clase que se cree. Por ello es adecuado el uso de la palabra clave static.
Cuando usamos “static final” se dice que creamos una constante de clase, un atributo común
a todos los objetos de esa clase.

public class Cuenta {

private static String saldo;

ATRIBUTOS FINALES
En este contexto indica que una variable es de tipo constante: no admitirá cambios después
de su declaración y asignación de valor. La palabra reservada final determina que un atributo
no puede ser sobrescrito o redefinido, es decir, no funcionará como una variable
“tradicional”, sino como una constante. Toda constante declarada con final ha de ser
inicializada en el mismo momento de declararla. El modificador final también se usa como
palabra clave en otro contexto: una clase final es aquella que no puede tener clases que la
hereden. Lo veremos más adelante cuando hablemos sobre herencia.

Cuando se declaran constantes es muy frecuente que los programadores usen letras
mayúsculas (como práctica habitual que permite una mayor claridad en el código), aunque
no es obligatorio.

Public class Perro {

private final int edad;

EN RESUMEN
Antes de POO, la técnica estándar de programación era la programación procedural. Se
denomina programación procedural porque en ella se destacan los procedimientos o
tareas que resuelven un problema. Se piensa primero en lo que se quiere hacer: los
procedimientos.
En contraste, el paradigma POO invita a pensar en lo que se desea que represente el
programa. Normalmente se responde esta invitación identificando algunas cosas en el
mundo que se desea que el programa modele.

8
Estas cosas podrían ser entidades físicas o conceptuales, por ejemplo, un libro. Una vez
identificadas las cosas que se quiere modelar, se identifican sus propiedades/atributos
básicos. Estos se pueden agrupar todos juntos en una estructura coherente llamada objeto
que creamos a través de las clases.

Proyecto con ejemplos de POO


El ejemplo está pensado para una pagina que va a administrar perros en su pagina web,
muestra las distintas maneras de llenar y de mostrar un objeto.

Link: Programación Orientada a Objetos

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy