0% encontró este documento útil (0 votos)
167 vistas18 páginas

¿Qué Es Un Objeto

Los objetos son representaciones de cosas reales o imaginarias como relojes, aviones o coches. No todo puede considerarse un objeto, algunas cosas son atributos de los objetos como el color o la velocidad. Los objetos agrupan datos y funcionalidad para representar entidades de forma abstracta.

Cargado por

Monica Ruiz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
167 vistas18 páginas

¿Qué Es Un Objeto

Los objetos son representaciones de cosas reales o imaginarias como relojes, aviones o coches. No todo puede considerarse un objeto, algunas cosas son atributos de los objetos como el color o la velocidad. Los objetos agrupan datos y funcionalidad para representar entidades de forma abstracta.

Cargado por

Monica Ruiz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 18

¿Qué es un objeto?

 Los objetos son representaciones(simples/complejas)


(reales/imaginarias) de cosas: reloj, avión, coche
 No todo puede ser considerado como un objeto, algunas cosas
son simplemente características o

atributos de los objetos: color, velocidad,


nombre
6

¿Qué es un objeto?
• Abstracción funcional

– Hay cosas que sabemos que los coches hacen pero no


cómo lo hacen:
• avanzar
• parar
• giraraladerecha • giraralaizquierda

• Abstraccióndedatos
– Un coche tiene además ciertos atributos:

• color
• velocidad • tamaño
• etc.

¿Qué es un objeto?
• Es una forma de agrupar un conjunto de datos
(estado) y de funcionalidad
(comportamiento) en un mismo bloque de
código que luego puede ser referenciado desde otras
partes de un programa

• La clase a la que pertenece el objeto puede


considerarse como un nuevo tipo de datos
8

Ejemplo
Clase
Objetos
Estado Constructor

Comportamiento

• this referencia al objeto de la clase actual


Ejercicio 1
 Implementa la clase Bicicleta, que tiene tres atributos,
velocidadActual, platoActual y
piñonActual, de tipo
enteroycuatrométodosacelerar(), frenar(),
cambiarPlato(int
plato),ycambiarPiñon(int piñon), donde el
primero dobla la velocidad actual, el segundo reduce a la mitad la
velocidad actual, y el tercero y cuarto ajustan el plato y el piñón actual
respectivamente según los parámetros recibidos. La clase debe tener
además un constructor que inicialice todos los atributos.

 Crea dos objetos de la clase bicicleta: miBicicleta y


tuBicicleta

• Encapsulación:describelavinculacióndeun
comportamiento y un estado a un objeto en particular.

Ocultacióndeinformación:Permitedefinirquépar
tes del objeto son visibles (el interfaz público) que
partes son ocultas (privadas)
•La llave de contacto es un interfaz público del
mecanismo de arranque de un coche
•La implementación de cómo arranca realmente es
privada y sobre ella sólo puede actuar la llave de
contacto
El objeto puede cambiar y su interfaz pública ser
compatible con el original: esto facilita reutilización de
código
11

Encapsulación de objetos
MIEMBROS DE UNA CLASE
Los objetos encapsulan atributos permitiendo
acceso a ellos únicamente a través de los
métodos

Un objeto tiene:

► Atributos (Variables):Contenedores de valores

► Métodos: Contenedores de funciones


► Estado: representado por el contenido de sus atributos

► Comportamiento: definido por sus métodos

Normalmente:
► Los métodos son públicos
► Los atributos son privados
► Puede haber métodos privados
► Es peligroso tener atributos públicos

Definición de objetos
Miembros públicos
• los miembros públicos

describen qué pueden hacer los objetos de esa


clase
– Qué pueden hacer los objetos (métodos)
– Qué son los objetos (su abstracción)

Miembros privados
describen la implementación de cómo lo hacen.
– Ejemplo: el objeto contacto interacciona con el
circuito eléctrico del vehículo, este con el motor, etc.
– Ensistemasorientadosa objetos puros todo el
estado es privado y sólo se puede cambiar a través
del interfaz público.
– Ej:Elmétodopúblicofrenar puede cambiar el valor
del atributo privado velocidad.

Interacciones entre objetos


• El modelado de objetos modela: – Los
objetos y
– Sus interrelaciones
• Para realizar su tarea el objeto puede delegar
trabajos en otro que puede ser parte de él mismo o de
cualquier otro objeto del sistema.

• Los objetos interaccionan entre sí


enviándose mensajes

Paso de Mensajes
Arrancar
Implementación
• Un objeto envía un mensaje a otro
– Esto lo hace mediante una llamada a sus atributos o métodos
• Los mensajes son tratados por la interfaz
pública del objeto que los recibe

– Eso quiere decir que sólo podemos hacer llamadas a
aquellos atributos o métodos de otro objeto que sean
públicos o accesibles desde el objeto que hace la
llamada

El objeto receptor reaccionará


– Cambiando su estado: es decir modificando sus
atributos

Enviandootrosmensajes:esdecirllamandoaotrosatributo
so métodos del mismo objeto (públicos o privados) o
de otros objetos (públicos o accesibles desde ese
objeto)
15

Interfaz Pública

Clase Coche
Clase Motor
Ejemplo

Paso de mensajes

Clase Rueda

Clasificación de objetos
• Clase:Conjunto de objetos con estados
y comportamientos similares
– Podemos referirnos a la clase “Coche”
(cualquier instancia de la clasificación coche)

• “Micoche”es un objeto,es decir una


instancia particular de la clase coche
• La clasificación depende del problema
a resolver

Objetos vs. Clases


Una clase es una entidad abstracta
 Es un tipo de clasificación de datos
 Define el comportamiento y atributos
de un grupo de estructura y
comportamiento similar
Clase Coche

Métodos: arrancar, avanzar, parar, ... Atributos: color,


velocidad, etc.

Un objeto es una instancia de una clase


• Un objeto se distingue de otros miembros de la
clase por sus
atributos
Objeto Ferrari

Perteneciente a la clase coche


• Una clase se declara, un objeto
además se crea
Nombre de la clase Métodos (funciones) Atributos (datos)

Nombre: Ferrari
Métodos: arrancar, avanzar, parar, ... Atributos: color =
“rojo”;

velocidad 300Km/h

18

Sobrecarga (Overloading)
¿Qué es?
 Podemos definir una clase con dos
métodos con el mismo nombre si los
argumentos son distintos.
 Se utiliza mucho para los constructores.
 Sabemos cual de los dos métodos
tenemos que ejecutar por los parámetros
que le pasamos cuando le llamamos.

Clase
Objetos

Sobrecarga (Overloading)
¿Para qué sirve?
Sobrecarga
Son métodos distintos porque aunque tengan el mismo nombre
tienen distin tos a r g u men tos. Tienen distinta funcionalidad

Ejercicio 2
• Sobre la clase Bicicleta, implementa los
método sobrecargados cambiarPlato(), y
cambiarPiñon(), que no reciben
argumentos y que cambian el plato actual y el
piñón actual a un valor por defecto, en
concreto, 1.

Constructores
 Cuando se crea un objeto sus miembros se
inicializan con un método constructor
 Los constructores:
– llevan el mismo nombre que la clase
– No tienen tipo de resultado (ni siquiera
void)
 Conviene que haya al menos 1 constructor
 Pueden existir varios que se distinguirán por
los parámetros que
aceptan (sobrecarga)
 Si no existen se crea un constructor por
defecto sin parámetros
que inicializa las variables a su valor por
defecto.
 Si la clase tiene algún constructor, el
constructor por defecto deja de existir. En ese
caso, si queremos que haya un constructor sin
parámetros tendremos que declararlo
explícitamente.

Constructores
Array de objetos de la clase Coche

Sobrecarga de constructores

Ejercicio 3
• Sobre la clase Bicicleta,
implementa un constructor adicional
que no recibe parámetros y que
inicializa la velocidad actual a 0, y el
plato actual y el piñón actual a 1.
24

Modificadores y acceso
Static (miembros estáticos)
 Modificador static
 Sólo existen una vez por clase, independientemente del
número de instancias (objetos) de la clase que hayamos
creado y aunque no exista ninguna.
 El método o el atributo se comportan siempre de la
misma manera
 Se puede acceder a los miembros estáticos utilizando el
nombre de la clase.
 Un método estático no puede acceder a miembros no
estáticos directamente, tiene que crear primero un
objeto
25

Modificadores y acceso
Static (miembros estáticos)
Atributo estático
...

Otros ejemplos

Atributo estático

Método estático: Tiene acceso a atributos estáticos No necesitamos


crear instancias

http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html

Modificadores y acceso
Static. Algunas reglas
 –  Losmiembrosestáticosseinvocancon:
 –
Paraaccederalosmiembrosnoestáticosnecesit
amos disponer de una instancia (objeto) de la
clase
NombreClase nombreObjeto = new
NombreClase();
 –  Losmiembrosnoestáticosseinvocancon:
 –
Cuandoinvocación(llamada)aunmiembroestát
icodela clase se realiza dentro de la propia
clase se puede omitir el nombre de la misma.
Es decir podemos escribir:
en lugar de:
NombreClase.metodoEstatico();
NombreClase.atributoEstatico;
nombreObjeto.metodoNormal();
nombreObjeto.atributoNormal;
metodoEstatico(); atributoEstatico;
NombreClase.metodoEstatico();
NombreClase.atributoEstatico;
27
Acceso
Métodos get() y set()
 Los atributos de una clase son
generalmente privados para evitar que
puedan ser accesibles / modificables
desde cualquier otra clase.
 A veces nos interesa que algunas clases
determinadas sí puedan acceder a los
atributos.
 Uso de métodos get() y set()
28

Ejercicio 4
• Sobre la clase Bicicleta,
implementa los métodosget()
yset()necesariosparapoder acceder y
modificar todos los atributos.
29

MODIFICADOR clas metodo atributo


ES e
public Accesible desde cualquier otra clase
Accesible sólo desde clases de su
protected propio paquete
private Accesibles sólo dentro de la clase
static
Es el mismo para Es la misma para
Clase de nivel todos los objetos de todos los objetos de
la clase. la clase.
máximo.
Se utiliza: Se utiliza:
Se aplica a clases NombreClase.metod NombreClase.atribu
o(); to;

Paquetes
 Un paquete agrupa clases (e interfaces)
 Las jerarquías de un paquete se
corresponden con las
jerarquías de directorios
 Para referirse a miembros y clases de un
paquete se utiliza la notación de
separarlos por puntos.
 –  Ej: Cuando importamos paquetes de clases
matemáticas
import
java.math.BigDecimal;

 –  La clase BigDecimal está en el


directorio java/math dentro del JDK

Noesnecesarioimportartodaslasclases:paquete
java/lang – String
– Integer
– NullPointerException
– ArrayIndexOutOfBoundsException
31

También podría gustarte