CLASES Y
OBJETOS
PRESENTACIÓN DE ESTUDIANTES Y PROFESOR
Los participantes del curso se presentan indicando:
Nombre
Si trabajan o no trabajan (qué tipo de jornada)
Si han escuchado algo del curso
¿Qué esperan del curso?
CONTACTOS ADMINISTRATIVOS
Profesor
Esteban Marín Chinchilla – [email protected]
Coordinador
Esteban Marín Chinchilla – [email protected]
Director
Wilberth Molina Pérez - [email protected]
Subdirectora
Katya Brenes Montoya - [email protected]
AGENDA
• PRESENTACIÓN DE ESTUDIANTES Y
PROFESOR
Experiencia en
programación
Expectativas
del curso
5
• REVISIÓN DEL PROGRAMA DEL
CURSO
6
CLASES Y OBJETOS
CONCEPTO DE OBJETO
Un objeto “tiene el mismo significado que en un nombre o en una
frase. Es una persona, un lugar, una cosa.” (Joyannes, 2008)
Es todo aquello acerca de lo cual se puede reunir información
acerca de su forma y comportamiento.
8
CONCEPTO DE CLASE
Según Deitel (2016), una clase es “una plantilla para fabricar objetos.”
Es una colección de objetos con atributos y comportamientos similares.
Es una plantilla que define la forma de un objeto y su comportamiento.
9
DECLARACIÓN DE UNA CLASE
La sintaxis para declarar una clase es la siguiente:
[modificador] class classId {
cuerpo_de_la_clase
}
modificador: Opcional. Puede ser (public/ abstract / final).
class: Indica al compilador que se definirá una clase.
classId: Nombre de la clase. Sustantivo sin abreviaciones.
Notas importantes:
✓ Java es sensible a mayúsculas y minúsculas
✓ Se utiliza la nomenclatura Camel Case.
COMPONENTES DE UNA CLASE
Los componentes de una clase son los siguientes:
1 Declaración de la clase
2 Declaración de atributos
3 Declaración de métodos
4 Especificación de comentarios
DISEÑO DE UNA CLASE
¿Cómo será la clase “Persona”?
¿Cómo será la clase “Vehículo”?
¿Cuáles serán sus atributos y métodos?
PASOS PARA DECLARAR UN
OBJETO
Los tres pasos se muestran en la siguiente línea de código:
Declaración del objeto Instanciación o referencia
Camisa miCamisa = new Camisa();
Se declara una referencia especificando un
identificador válido.
Se crea el objeto utilizando la palabra “new”.
Se inicializa la referencia asignando el objeto a la
referencia.
UTILIZANDO LAS REFERENCIAS PARA MANIPULAR
ATRIBUTOS
Una vez creada la referencia, ésta nos permite acceder a los atributos y/o a los
métodos. De la siguiente manera:
▪ Se utiliza un punto “.” para acceder a los atributos de una clase y a los métodos
▪ Ejemplo:
Referencia Método de acceso Referencia Método
miCamisa.setColor(‘G’); miCamisa.despliegaInfo();
ASIGNAR UN OBJETO A OTRO
CONTROLANDO EL ACCESO A LOS MIEMBROS
Los métodos get y set, permiten mostrar (get) o modificar (set) el valor
de un atributo.
El nombre del método siempre iniciará con get o set y a continuación el
nombre del atributo, su modificador siempre es public.
Los métodos set asignan valores a los atributos y los get permiten obtener
los valores almacenados en esos atributos.
NIVELES DE ACCESO
Java soporta cuatro niveles de acceso a variables y
métodos.
En orden, del más público al menos público son:
• público (public)
• protegido (protected)
• sin modificador (también conocido como package)
• privado (private)
RESUMEN DE NIVELES DE ACCESO
Tipo de Clase public protected (sin indicación) private
Clase SI SI SI SI
SubClase en el mismo paquete (clase que SI SI SI NO
hereda)
No SubClase en el mismo paquete SI SI SI NO
SubClase en diferente paquete SI SI/NO* NO NO
No SubClase en diferente paquete SI NO NO NO
(*) Los miembros (variables y métodos) de clase (static) si son visibles. Los miembros de instancia no son
visibles.
USO DE this y this()
this
• this hace referencia al objeto “actual” que ejecuta un código particular.
• Se utiliza en los métodos generados automáticamente (set/get,
constructor)
public void setEdad(edad) {
this.edad = edad;
}
• En este ejemplo al atributo edad se le asigna el valor traído por el
parámetro edad.
this()
this() se utiliza para invocar dentro de un constructor a otro constructor
particular.
public class Deportista extends Persona{
private String deporte;
public Deportista(String nombre, String deporte) {
this(nombre);
this.deporte = deporte;
}
public Deportista(String nombre) {
super(nombre);
}
}
COMPOSICIÓN
Composición es la posibilidad que tenemos de que una clase este
“compuesta” de otros elementos. Veamos un ejemplo.
Persona
idPersona:long
nombre:String
primerApellido:String
segundoApellido:String
edad: byte
Empleado
idEmpleado:long
antigüedad:byte
datosPersonales:Persona
this()
this() se utiliza para invocar dentro de un constructor a otro constructor
particular.
public class Deportista extends Persona{
private String deporte;
public Deportista(String nombre, String deporte) {
this(nombre);
this.deporte = deporte;
}
public Deportista(String nombre) {
super(nombre);
}
}
MIEMBROS DE CLASE ESTÁTICOS
Se definen anteponiendo la palabra static.
Se conocen como métodos de la clase o variables de la
clase y no requiere instanciar un objeto para referenciarlos.
El código estático sólo se ejecuta una vez. Se utiliza para
inicializar variables finales o globales.
VENTAJAS DEL USO DE STATIC
Métodos y variables son “compartidos” por
todos los objetos de una misma clase.
Ciertas tareas no requieren crear “objetos”
por lo que los métodos estáticos son una
respuesta natural para su implementación.
CREAMOS UNA CLASE EN JAVA
Creamos una clase Recibo
Creamos los siguientes atributos
int numeroRecibo;
String nombre;
float monto;
Presionamos clic derecho, “Insert code” para crear y creamos
Setter and getter (dar click en encapsular),
Constructor
toString.
INVOCANDO MÉTODOS ESTÁTICOS
Para invocarlos, basta anteponer el nombre de la clase
luego el punto y finalmente el método o la variable.
Ejemplos:
• Recibo.getTotalObjetos();
• Factura.ultimoNumero;
SOBRECARGA DE MÉTODOS
• Métodos con el mismo nombre, pero con diferencias en los parámetros del
mismo.
• Su comportamiento y la selección del mismo dependerá de los parámetros
que tenga el método.
public int suma (int a,int b) {
return a+b;
}
public int suma (int a,int b,int c) {
return a+b+c;
}
VARIABLES DE INSTANCIA FINAL
Existen atributos dentro de los objetos a los que NUNCA se les cambia el valor.
Es lo que conocemos como constantes.
Declaración:
public/static/protected final <tipodatos> indentificador
Ejemplo:
private final float iva = 0.13f;
REFERENCIAS BIBLIOGRÁFICAS
Joyannes Aguilar, L. (2008). FUNDAMENTOS DE PROGRAMACIÓN. Algoritmos, estructura de datos. Madrid,
España: Mc. Graw-Hill.
Deitel, H. y. (2016). Java. Cómo programar. México: Pearson.
MUCHAS GRACIAS
Hasta la próxima.
Nos vemos.
Tema de la siguiente clase: Herencia.