lecasabe - java - progii€¦ · principios de la poo h t t p : / / l e c a s a b e . c o m 16 para...

61

Upload: others

Post on 05-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que
Page 2: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 2

POO PROGRAMACIÓN ORIENTADA A OBJETOS

Page 3: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

INTRODUCCIÓN

H T T P : / / L E C A S A B E . C O M 3

Java se basa en la programación orientada a objetos.

De alguna manera todos los programas en Java son

orientados a objetos. Los realizados hasta este

momento necesitan una clase que implemente un

método como main() para empezar la ejecución,

aunque no se necesite la creación de ningún objeto se

ha estado utilizando el concepto de clase.

Page 4: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 4

Un programa orientado a objetos es el resultado de la

colaboración de varios tipos de objetos entre sí, cada

uno con sus funcionalidades prestando o solicitando

servicios a otros. Un objeto que no es utilizado por otros

o que no utiliza a otros, no tiene sentido.

Todo está conectado, sigue una lógica.

Page 5: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 5

Page 6: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CLASE

H T T P : / / L E C A S A B E . C O M 6

Funciona como una plantilla o molde para crear objetos

individuales de un mismo tipo, define los atributos y

métodos que describen su estado y comportamiento.

Es decir, permite la instancia de objetos de cierto tipo a

partir de definiciones.

Page 7: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

OBJETO

H T T P : / / L E C A S A B E . C O M 7

Los objetos son concreciones (realidades) instanciadas

de las clases. Estas son abstracciones que representan

como son los objetos de dicha clase y cuáles son sus

funcionalidades.

Page 8: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

ATRIBUTO

H T T P : / / L E C A S A B E . C O M 8

Son las características que describen y definen a una

clase, al tomar valores definen el estado de una objeto.

Cada atributo cuenta con un identificador y un tipo.

Page 9: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

MÉTODO

H T T P : / / L E C A S A B E . C O M 9

Por otro lado los métodos definen el comportamiento

posible de los objetos de una clase. Son la

implementación de un algoritmo y se ejecuta mediante

una llamada (invocación) o un mensaje. Pueden

modificar el valor de los atributos o a su vez llamar a

otros métodos.

Page 10: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO DE MÉTODO

H T T P : / / L E C A S A B E . C O M 10

Page 11: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 11

Podemos hacer la siguiente analogía: La clase es como

un molde de un vestido, mientras que los objetos son

todos los vestidos concretos que yo puedo crear con

ese molde.

Page 12: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CLASES DE JAVA

H T T P : / / L E C A S A B E . C O M 12

Java ya cuenta con sus propias clases que nos brindan

diversos métodos que ya venimos utilizando, pero sin

entrar en lo que es el concepto de POO, por ejemplo la

clase Scanner.

Page 13: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CLASE SCANNER

H T T P : / / L E C A S A B E . C O M 13

El uso de la clase Scanner es una de las mejores

maneras de ingresar datos por teclado en Java.

Scanner es una clase en el paquete java.util utilizada

para obtener la entrada de los tipos primitivos como int,

double, etc.

Y para poder hacer uso de ella simplemente la

importamos y luego creamos un objeto de ella para

acceder a los métodos necesarios.

Page 14: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CLASE SCANNER

H T T P : / / L E C A S A B E . C O M 14

Page 15: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CLASE SCANNER

H T T P : / / L E C A S A B E . C O M 15

Descripción del código por línea:

3. Importamos la clase

9. Creamos un objeto llamado teclado

10. Mediante el objeto invocamos al método nextLine()

Page 16: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

PRINCIPIOS DE LA POO

H T T P : / / L E C A S A B E . C O M 16

Para poder implementar la programación orientada a

objetos todos los lenguajes que se basan en esta

metodología se basan en cuatro principios: abstracción,

encapsulación, herencia y polimorfismo.

Page 17: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

ABSTRACCIÓN

H T T P : / / L E C A S A B E . C O M 17

Es el mecanismo que permite concentrarse en los

aspectos que se necesitan, obviando los que no son

necesarios. Las clases son el mecanismo para

implementar la abstracción en Java, representan lo que

los objetos de esa clase tienen y saben hacer, agrupan

lo común en representación y funcionalidad de los

objetos. Una clase es una abstracción para un tipo

concreto y determinado de objetos.

Importa el «¿qué hace?» y no «¿cómo lo hace?»

Page 18: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 18

La abstracción es la facultad de los seres humanos en

concentrar el pensamiento en un elemento,

característica, propiedad o noción, centrándose en él y

olvidando todos los demás.

Page 19: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 19

Page 20: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

ENCAPSULACIÓN

H T T P : / / L E C A S A B E . C O M 20

Es el mecanismo por el cual los datos y los códigos

están protegidos de su acceso desde el exterior; es

decir por parte de otros objetos que necesitan su

colaboración. Un objeto sólo expone las funcionalidades

expresadas en su interfaz público y ocultan tanto su

código como su representación. La clase con sus

diferentes tipos de acceso es quien implementa la

encapsulación.

Page 21: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

HERENCIA

H T T P : / / L E C A S A B E . C O M 21

Es el mecanismo por el cual un objeto puede adquirir

propiedades y funcionalidades de otro tipo de objetos.

Es un mecanismo de generalización de propiedades y

funcionalidades para las clases de las que se hereda

(superclases) y de especialización de las clases que

heredan (subclases).

Page 22: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO DE HERENCIA

H T T P : / / L E C A S A B E . C O M 22

Por ejemplo un auto deportivo es

un tipo de objeto especializado a

partir de la clase más genérica

auto, así hay autos que son

deportivos y otros que son 4*4,

los dos son autos, los dos heredan

de la clase más general las

propiedades y funcionalidades,

pero uno se especializa en la

velocidad y el otro en la fuerza.

Page 23: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

HERENCIA

H T T P : / / L E C A S A B E . C O M 23

Un “Cuadrado” es una “Figura”,

una “Figura es un “Gráfico”.

Cualquier “Figura” y cualquier “Texto, son “Grafico”.

Cualquier “Cuadrado” o “Circulo” o “Linea”

son “Grafico”, porque son “Figura”.

Page 24: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

POLIMORFISMO

H T T P : / / L E C A S A B E . C O M 24

Es el mecanismo por el cual con la misma forma se

ejecutan códigos diferentes. En una jerarquía de

herencia de clases, se implementa una funcionalidad

determinada en las superclases (de las que se hereda)

y se va especializando su funcionamiento de acuerdo a

las subclases (que heredan dicha funcionalidad).

Page 25: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 25

DEFINICIÓN DE CLASE

Page 26: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

¿QUÉ DEFINEN LAS CLASES?

H T T P : / / L E C A S A B E . C O M 26

Las clases definen la estructura y el comportamiento de

los objetos de un tipo particular. Podemos decir que las

clases son en realidad modelos de objetos del mismo

tipo.

Page 27: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

¿QUÉ DEFINEN LAS CLASES?

H T T P : / / L E C A S A B E . C O M 27

En Java las clases se implementan con la palabra

reservada class. Una class es un bloque ({ }) en el que

se definen las propiedades o atributos (variables) y los

métodos o funcionalidades (funciones).

Primero se le asigna un

modificiador de acceso,

luego la palabra reservada class

y por último el nombre.

Page 28: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

MODIFICADORES DE ACCESO

H T T P : / / L E C A S A B E . C O M 28

En Java existen cuatro modificadores de acceso para

definir el ámbito desde el que puede ser usadas las

clases, las variables y los métodos: public, private,

protected y sin modificador.

Page 29: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 29

Page 30: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

ATRIBUTOS

H T T P : / / L E C A S A B E . C O M 30

Las variables miembro dentro de la definición de una

clase son de dos tipos: de instancia y de clase.

Page 31: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

ATRIBUTOS

H T T P : / / L E C A S A B E . C O M 31

de instancia: son los atributos que tendrá cada objeto,

son espacios de memoria en los que se almacenan los

datos de cada objeto. Se crean cuando se crea el objeto

y se liberan cuando se liberan los objetos.

de clase: son atributos que comparten todos los objetos

de una clase, no pertenecen a ningún objeto son de la

clase. Se definen utilizando la palabra static.

Page 32: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

¿QUÉ DEFINEN LOS ATRIBUTOS?

H T T P : / / L E C A S A B E . C O M 32

La definición de cualquiera de los dos tipos es casi

como se ha visto hasta este momento para la definición

de variables dentro de la función main, añadiendo el

modificador de acceso a dicha variable, que se define

con las palabras clave private, protected, public o sin

ninguna de ellas, tal y como sigue: Primero se le asigna un

modificiador de acceso,

luego el tipo de dato y por

último el nombre.

Page 33: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

MÉTODOS

H T T P : / / L E C A S A B E . C O M 33

Los métodos son las funciones miembro de la clase que

van a definir el comportamiento de los objetos y como

la variables son de dos tipos: de instancia y de clase.

El valor devuelto puede ser void, cualquier tipo primitivo

del lenguaje o una referencia a cualquier tipo de objeto

(cualquier identificador de clase).

Page 34: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO DE MÉTODOS

H T T P : / / L E C A S A B E . C O M 34

Page 35: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

ÁMBITO

H T T P : / / L E C A S A B E . C O M 35

El ámbito tanto en la clase, como en las variable, como

en los métodos define quien puede acceder a la clase,

a la variable o al método.

En POO para implementar la encapsulación hay que

definir los atributos como privados, para así ocultar la

representación. Y exponer en una parte pública a los

métodos, para así definir el interfaz de uso de los

objetos de una clase.

Page 36: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 36

OBJETOS INSTANCIAS DE CLASES

Page 37: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CREAR OBJETOS

H T T P : / / L E C A S A B E . C O M 37

Para poder crear objetos de una clase se utiliza el

operador new. Este operador devuelve una referencia al

objeto instanciado.

Las variables de instancia no hace falta inicializarlas,

cuando se crea un objeto, el valor que se almacene en

el espacio de dicha variable es 0 para los números,

false para los booleanos y null si son referencias a otros

tipos de objetos (por ejemplo String).

Page 38: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CREAR OBJETOS

H T T P : / / L E C A S A B E . C O M 38

Cuando se crea el objeto se invoca a una de sus

métodos constructores.

El objetivo de estos métodos es inicializar con valores

determinados las variables miembro (atributos) de la

clase.

Page 39: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO PARA CREAR UN OBJETO

H T T P : / / L E C A S A B E . C O M 39

SINTAXIS:

Primero va el nombre de

la clase, luego el nombre

del objeto seguido del

signo de =.

A la derecha del signo va

el operador new y

nuevamente el nombre

de las clase con los ()

para los parámetros.

Page 40: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 40

CONSTRUCTORES INICIALIZAN LOS ATRIBUTOS

Page 41: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CONSTRUCTORES

H T T P : / / L E C A S A B E . C O M 41

Los constructores son funciones que se ejecutan

cuando se crean los objetos. Cuando se crea un objeto

con new, primero se reserva el espacio para almacenar

los valores de cada uno de sus atributos y a

continuación el código de un constructor definido en la

clase.

Page 42: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CONSTRUCTORES

H T T P : / / L E C A S A B E . C O M 42

Las funciones constructoras tienen el mismo nombre

que la clase, una lista de parámetros que puede estar

vacía y no devuelven nada (ni void). Son las únicas

funciones en Java que no devuelven ningún valor.

Page 43: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CONSTRUCTORES

H T T P : / / L E C A S A B E . C O M 43

En una clase se pueden definir tantos constructores

como se necesiten. Cada constructor representa una

forma distinta de crear los objetos de una clase.

Page 44: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CONSTRUCTORES

H T T P : / / L E C A S A B E . C O M 44

Cuando una clase tiene varios constructores se dice

que estas funciones constructoras están

sobrecargadas. La sobrecarga es el mecanismo por el

cual en una clase pueden existir varias funciones que

teniendo el mismo nombre se diferencian en el número

y/o el tipo de los parámetros. Este es el caso de los

constructores, todos tienen el mismo nombre, pero se

diferencian en la lista de parámetros.

Page 45: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CONSTRUCTORES

H T T P : / / L E C A S A B E . C O M 45

Otra característica que hay que tener en cuenta con los

constructores es que tienen que estar en un ámbito

como public para que así se pueda acceder desde

donde se intente crear el objeto.

Page 46: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO CONSTRUCTOR

H T T P : / / L E C A S A B E . C O M 46

Al crear el objeto se

inicializan los atributos de

la clase con esos valores.

Page 47: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO CONSTRUCTOR

H T T P : / / L E C A S A B E . C O M 47

Al crear el objeto será

necesario pasarle los valores

para los parámetros.

Page 48: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO CONSTRUCTOR

H T T P : / / L E C A S A B E . C O M 48

Al crear el objeto será

necesario pasarle los valores

para los parámetros.

Page 49: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CONSTRUCTORES

H T T P : / / L E C A S A B E . C O M 49

El objetivo principal de los constructores es inicializar

de un modo determinado las variables de instancia

(atributos) para el objeto que se crea.

En los códigos típicos a los métodos constructores se

asignan valores a las variables de la clase.

Page 50: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO PARA CREAR DISTINTOS OBJETOS

H T T P : / / L E C A S A B E . C O M 50

Page 51: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

CARACTERÍSTICAS DE LOS CONSTRUCTORES

H T T P : / / L E C A S A B E . C O M 51

Son métodos de acceso public.

Tienen el mismo nombre que la clase que lo

contiene.

Inicializan los atributos de la clase.

No devuelve nada, ni siquiera void.

Pueden existir varios, pero siguiendo las reglas de la

sobrecarga de funciones.

De entre los que existan, tan sólo uno se ejecutará al

crear un objeto de la clase.

Page 52: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

REFERENCIA THIS

H T T P : / / L E C A S A B E . C O M 52

La palabra reservada this es una referencia al propio

objeto para el que se esta ejecutando el código de una

función miembro de instancia o un constructor.

Sólo se puede usar dentro de las funciones de instancia

y constructores de las clases.

Page 53: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

REFERENCIA THIS

H T T P : / / L E C A S A B E . C O M 53

Existen casos en los que es necesario utilizar this, por

ejemplo cuando el nombre de un parámetro coincide

con el nombre de un atributo.

Page 54: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

SOBRECARGA DE MÉTODOS

H T T P : / / L E C A S A B E . C O M 54

Al igual que se sobrecargan los constructores, cualquier

otro método o función miembro de una clase puede

estar sobrecargado. Se pueden tener varias funciones

que tengan el mismo nombre y que devolviendo el

mismo tipo, se diferencien en la lista de parámetros, en

su número o en sus tipos o en ambas cosas.

Page 55: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO DE SOBRECARGA DE MÉTODOS

H T T P : / / L E C A S A B E . C O M 55

Page 56: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 56

“GETTER” Y “SETTER” MÉTODOS DE ACCESO A LOS DATOS DE LOS OBJETOS

Page 57: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

“GETTER” Y “SETTER”

H T T P : / / L E C A S A B E . C O M 57

Los métodos “getter” y “setter” son métodos de acceso

a los datos de los objetos y son siempre públicos.

Cada método accede a un sólo dato (una sola variable

de instancia - atributo) para obtener su valor o

cambiarlo.

Page 58: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

“GETTER” Y “SETTER”

H T T P : / / L E C A S A B E . C O M 58

Las funciones “getter” retornan el valor de una variable

de clase (atributo) y las funciones “setter” cambian el

valor de un atributo. Por estilo estos métodos utilizan

identificadores que comienzan por set o get y a

continuación el nombre de la variable miembro

comenzando por mayúscula.

Page 59: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO DE “GETTER” Y “SETTER”

H T T P : / / L E C A S A B E . C O M 59

Page 60: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

EJEMPLO DE “GETTER” Y “SETTER”

H T T P : / / L E C A S A B E . C O M 60

Creo un objeto con parámetros para el contructor y

luego invoco a los métodos get de 2 atributos.

Page 61: lecasabe - Java - ProgII€¦ · PRINCIPIOS DE LA POO H T T P : / / L E C A S A B E . C O M 16 Para poder implementar la programación orientada a objetos todos los lenguajes que

H T T P : / / L E C A S A B E . C O M 61

FUENTE:

https://www.ibm.com/developerworks/ssa/java/tutorials/j-introtojava1/index.html

https://www.codesolt.com/tutoriales/fundamentos/programacion-orientada-objetos/

https://www.programarya.com/Cursos/Java

https://www.scenebeta.com/tutorial/tutoriales-de-programacion-java-101-introduccion-java-y-la-

programacion-orientada-objetos

https://www.java.com/es/

https://campuspro.es/java-essentials/

https://miriadax.net/web/programacion-con-java-standard-4-edicion-

https://docs.oracle.com/javase/tutorial/java/concepts/

https://docs.microsoft.com/es-es/previous-versions/bb972232(v=msdn.10)

https://searchmicroservices.techtarget.com/definition/object-oriented-programming-OOP

https://es.wikibooks.org/wiki/Programaci%C3%B3n_Orientada_a_Objetos