S01 S2-Material

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

Programación Orientada a

Objetos
Clases y Objetos - Constructores -
Modificadores de Acceso

Sesión 2
Dudas de la sesión anterior

¿Qué recuerdan lo
aprendido en la clase
anterior?
Logro

Al finalizar esta sesión el


alumno desarrolla programas
en el lenguaje de programación
Java utilizando la
POO utilizando clases, objetos,
métodos, modificadores de
accesos y constructores
Conocimientos previos

• Componentes swing en java …………………………………………

• Los datos que ingresan a Java a través de un componente swing,


por lo general, son de tipo ………

• Para convertir una CADENA A ENTERO se utiliza el método ………..


de la clase Integer

• Para convertir una CADENA A REAL se utiliza el método ………. de


la clase Double
Utilidad del tema (1)

• Mayor flexibilidad
• Fácil mantenimiento
• Desarrollo sencillo
• Sencillo de entender al
momento de programar
Utilidad del tema (2)

Desventajas y problemas de la programación estructurada:

• Dificulta que varios programadores trabajen a la vez por necesitar tener


código

• Difícil hacer código reutilizable. El programa será muy extenso.

• El código estructurado es difícil de relacionarlo con la percepción que


tenemos en la realidad. Esto hace que se cometan más errores por falta
de entendimiento
Contenido del tema

1. Introducción a Objetos
2. Programación Orientada a Objetos
3. Clases, Objetos y Métodos
4. Metodos accesores Get & Set
5. Aplicaciones
6. Conclusiones/Cierre
Introducción a Objetos

¿Cómo percibimos la realidad los humanos?

Como objetos con significado


Los objetos representan cosas
Introducción a la Programación
Orientada a Objetos
• La necesidad de hacer mejores
programas en menos tiempo dio
pie a otros paradigmas de
programación como la POO
(Programación orientada a
Objetos)
Programación Orientada a
Objetos
• Metodología que define los programas en términos de "clases de
objetos", objetos que son entidades que combinan:

 Estado (datos),
 Comportamiento (procedimientos o métodos)
 Identidad (propiedad del objeto que lo diferencia del resto)

• Tomas las mejores ideas de la programación estructurada y modular


combinándola con nuevos y poderosos conceptos.
Clase
• Una clase describe los atributos (propiedades) y métodos
(comportamientos) en común de un conjunto de objetos.
• Mediante una clase se puede crear o instanciar objetos del
mismo tipo.
Celular Clase
Código
Marca
Color Atributos
Peso
Tamaño
hacerLlamada()
almacenarContacto()
emitirTimbrado() Métodos
bloquearPantalla()
Clase Persona

Persona Clase

nombre • Una clase tiene


apellidoMaterno atributos, metodos
apellidoPaterno Atributos y constructor.
sexo (propiedades)
edad
• Esta será plantilla
comer() de un nuevo objeto
beber()
Métodos
dormir() (Comportamientos)
Clase Pelota
Pelota Clase

Atributos

Métodos
Objeto
• Los objetos son o representan cosas
• Los objetos pueden ser simples o complejos
• Los objetos pueden ser reales o imaginarios
• Los objetos pueden ser una entidad de programa como un arreglo, una
lista, etc.
Objeto
• Un objeto es una instancia (variable) de una Clase, por lo que
se puede definir como la unidad básica para la construcción de
un programa.

• Un objeto tiene:

Estado Comportamiento Identidad


(datos) (procedimientos o (lo que diferencia
metodos) del resto)
Representación de una clase
Un Objeto tiene Estado
• Se refiere a los valores de los atributos.
• Los objetos interactúan unos con otros y como consecuencia de
esas interacciones cambian de estado (es decir, cambian el
valor de sus atributos).
Iphone: Celular
Código: cbx1415
Marca: Apple
Color: Blanco
Peso: 50 gr
Tamaño: 12 cm
hacerLlamada()
almacenarContacto()
emitirTimbrado()
bloquearPantalla()
Estado

Persona Persona Vehículo Vehículo


Juan Juan Ford Ford
García García Mustang Mustang
Rodríguez Rodríguez Blanco Rojo
Masculino Masculino SX-54852545 SX-54852526
15 32 mover() mover()
comer() comer() abrir() abrir()
beber() beber() girar() girar()
dormir() dormir() detener() detener()
Un Objeto tiene
Comportamiento
• El comportamiento de un objeto es cómo actúa y reacciona un
objeto, en función de sus cambios de estado y paso de
mensajes.
• Los objetos se comunican e interaccionen entre sí por medio de
mensajes.
Paso de Mensajes
• Un mensaje es la llamada a un método, esto es, cuando un
objeto recibe un mensaje ejecutará un método u operación.

conectar()
Iphone: Celular ssd: Router
validarClave()
Un Objeto tiene Identidad
• Cada objeto tiene una identidad única, incluso si su estado es idéntico al
de otro objeto.

Empleado “Maria Rivera” Empleado “Carlos Torres” Empleado “María Rivera”


Profesión Contador Profesión Administrador Profesión Contador
Ejemplo
• Imagine que programará un juego de una perrera. Debe contemplar los
perros, los doctores y su interacción. ¿Cómo haría?
• Primero entenderemos como percibimos la realidad:
• A un perro ¿qué lo distingue?
• ¿Cuándo existe?
Ejemplo
Un perro tiene:

1. Características:
• Color, orejas, peso, patas, pelo, ojos, temperamento,
cola.
2. Ejecuta acciones:
• Come, corre, ladra, mover la cola, espera, bebe
agua, dar la pata.
3. Nace
• No se crea de la nada, sus genes sirven de plantilla.
• Para existir necesita crearse.
• Al crearse ocupará un lugar en el mundo.
4. Muere
• Se destruye y pierde su espacio en el mundo.
Ejemplo
El perro es un objeto, el cual tiene:
1. Características: Que son atributos
2. Ejecuta acciones: Que son métodos
3. Nace:
• Cada objeto se crea a partir de sus Genes o
plantilla, que en este caso es la clase. Al ser
su plantilla debe tener definidos sus atributos
y métodos.
• Para crearse un objeto perro lo primero que se
hace es construirse.
• Al crearse debe reservarse un lugar para el
objeto.
4. Muere: Al destruirse se finaliza.
Ejemplo
• En resumen, necesito crear una clase definiendo sus atributos y métodos, y
recién a partir de esta, se podrá crear el objeto.

Perro Clase
nombre
colorPelo Atributos
cantidadOjos Objeto

ladrar()
caminar() Métodos
comer()
Fido

• Es por eso, que a los objetos se les llama instancias de una clase
Ejemplo
Metodo Constructor

• Un constructor es un método que inicia un objeto inmediatamente después de su


creación, evitando tener que iniciar de forma individual los atributos de un objeto.

• Tiene el mismo nombre de la clase a la que pertenece, puede implementarse mas de


una vez dentro de una clase y carece de tipo.

class Perro { Clase


Perro() {

} Constructor
Perro(int x) {

}
}
Metodo Constructor
• Un constructor sin parámetros es denominado constructor por defecto.

• Por ser métodos, los constructores también aceptan parámetros. Cuando en una
clase no especificamos ningún tipo de constructor, el compilador añade uno
público por omisión sin parámetros, el cual NO hace nada.

class Perro { Clase


Perro() {

} Constructor
Perro(int x) {

}
}
Características de los Constructores

1. Un constructor, tiene el mismo nombre de la clase a la cual


pertenece

2. No puede ser Heredado

3. No retorna ningún valor (Ni VOID), por lo cual no debe especificarse


ningún tipo de dato

4. Debe declararse como public, sólo en casos realmente


extraordinarios será de otro tipo
Clase, Atributos, Métodos y el
Método Constructor
public class Perro{ Clase

String nombre, colorPelo; Atributos


int cantidadOjos;

Perro(){
Métodos
}
Perro(int x){ Constructores

}
double saltar(double altura){
System.out.println(“Salta”, altura, “centimetros”);
}
void comer(int calorias){ Métodos
System.out.println(“Como”, calorias, “al día”);
}
}
Declaración del Objeto
• Un objeto es una instancia o variable de una clase.
• La declaración de una referencia a objeto se realiza:

Clase objeto;
TipoDato variable;

• Ejemplo:
Perro objPerro;
Perro p;
Inicialización de objetos
• El método constructor permite inicializar los atributos de un objeto, el cual se invoca
después de la declaración del objeto a través del operador new.
• De de esta manera, los atributos numéricos se inicializan en 0 y los atributos de tipo texto se
inicializan en vacío.

• Ejemplo: Perro p = new Perro();


p
Perro p
null
Clase Método constructor
Atributos
Atributos
Atributos
Métodos
Métodos
Métodos
Métodos
Operador punto (.)
• El operador punto permite acceder o llamar a los miembros de una clase ya
sea un atributo o un método a través del objeto de la clase.
• Su sintaxis es:

nombreDelObjeto.atributo

• O:
nombreDelObjeto.método()

• Llamar a un método de una clase a través del punto significa la ejecución


del mismo.
Referencia This
• La palabra reservada this sirve para hacer referencia a un atributo actual de un
objeto.
• Ejemplo:
public void setNombre(String n) {
this.nombre = nombre;
}
Modificadores de Acceso
• Los modificadores de acceso definen niveles de visibilidad entre miembros
(variables y métodos) de una clase y otros objetos.
• Sintaxis en los atributos:
modificadorDeAcceso tipo nombreVariable;

• Sintaxis en los métodos:

modificadorDeAcceso tipo nombreMetodo( ){



}
Modificadores de acceso para
variables y métodos
Puede ser Un miembro tiene acceso a
accedido por
métodos de
public protected omitido private

La misma clase Si Si Si Si

Subclases del
Si Si Si -
mismo paquete
Otras clases del
Si Si Si -
mismo paquete
Subclases en
Si Si - -
otros paquetes
Otras clases de
Si - - -
otros paquetes
Método SET/GET
• Una de las características de la POO es que el usuario no puede
manipular en forma directa los atributos de la clase. Por tanto, se debe
implementar los atributos como privados (private), y se debe
implementar métodos para acceder a ellos.

Métodos set Métodos get


MODIFICAN los valores de las DEVUELVEN los valores de las
propiedades de una clase. propiedades de una clase.

Requieren de un parámetro, no Requieren valor de retorno más


es indispensable valor de no es indispensable parámetros.
retorno.
Métodos de acceso (getters)
• Los métodos de acceso (getters) son los encargados de obtener un valor
asignado a un atributo, pudiendo ser utilizarlo para cierto método.
• Los métodos de acceso (getters) retornan siempre un valor por lo que el
tipo de dato del método será el mismo que el tipo de dato del valor que
retorna.
• Es recomendable que el nombre de estos métodos comiencen con la
palabra en ingles get, que significa obtener, seguido del nombre del atributo
al cual acceden.

• Ejemplo: public String getNombre() {


return nombre;
}
Métodos de modificación
(setters)
• Los métodos de modificación (setters) permite asignar un valor inicial a un
atributo.
• Los métodos de modificación (setters) no retornan nada por lo que el tipo
de dato es void.
• Es recomendable que el nombre de estos métodos comiencen con la
palabra en ingles set, que significa colocar, seguido del nombre del atributo
que manipula.
• Ejemplo:
public void setNombres(String n) {
nombre=n;
}
Como generar get y set en
NetBeans
• Para generar los métodos
getters y setters en
Netbeans, es necesario
definir los atributos de la
clase, luego seleccionar la
opción Encapsular campos
(Encapsulate fields) del menú
Reestructurar (Refactor).
Como generar get y set en
NetBeans
• A continuación se muestra
una ventana donde se
selecciona los atributos a los
cuales se generará los
métodos get y set.
• Finalmente se presiona el
botón Refactor, generándose
de inmediato un método get y
otro set por cada atributo de
la clase.
Aplicaciones

Implementar lo explicado en clase


Ejercicio
El precio de un pasaje aéreo depende del Destino Tarifa ($)
Tacna 65.00
destino de viaje:
Tumbes 61.00
Arequipa 54.00
Pucallpa 48.00
Peso (Kg) Incremento (%)
Además se incrementa de acuerdo al peso de
0 – 20 0
equipaje con el que se viaja:
21 – 40 5
41 – 60 10
61 – mas 15
Pasajero frecuente Descuento ($)
Ademas, el pasajero se hará acreedor a un
Si 10%
descuento si es viajero frecuente. :
No 0

Calcular el monto final a pagar por un pasajero, Primera clase 25%


teniendo en cuenta los siguientes servicios Refrigerio $5.00
Seguro plus $10.00
adicionales a pagar según sus necesidades
Preguntas?
Gracias por su
atención
Resumiendo
Preguntas de cierre
• Responder lo siguiente:
• ¿Qué es un objeto? ¿Qué es una clase?
• ¿Qué es un atributo?
• ¿Cómo se crea un objeto?

También podría gustarte