Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OBJETOS
Programación Avanzada
Angela Carrillo Ramos
Palabras Clave
• Clase
• Objeto
• Atributo
• Método
• Visibilidad
• Paquete
• Encapsulamiento…
Clase
Nombre
Características o
Propiedades Atributos
Servicios
Métodos
Ejemplo de Clase
Estudiante
nombre
carrera
notas
estudiar
prepararClase
realizarActividad
asistirAClase
…
La Instancia de una Clase
Estudiante
nombre
carrera Objeto
notas
estudiar
prepararClase
realizarActividad
asistirAClase
…
La Instancia de una Clase
Estudiante e2 Estudiante
Nombre: Felipe
Nombre: Mónica
Carrera: Ing. Sistemas e1 Carrera: Economía
notas [100, 70,60,25]
notas [100, 80,50,75]
estudiar estudiar
prepararClase new prepararClase
realizarActividad
realizarActividad
asistirAClase +Constructor () asistirAClase
…
…
Atributos
Propiedad o característica de un objeto
• public : todos
• private: sólo los objetos de la misma clase
• protected: herencia
• e.nombre=“Mónica”;
• String nom=e.getNombre();
Operadores
• Operador ‘.’
• Se referencian los atributos y métodos de una clase si
tienen la palabra static
En la clase MiembroFamilia
private static String apellido=“Carrillo”;
String ap=MiembroFamilia.apellido;
En la clase ManejoCadena
public static int comparar(String cad1, String cad2){…}
int comp=ManejoCadena.comparar(c1,c2)
Operadores Atributo que
comparten
todos los objetos
de la misma
apellido: Carrillo clase
• static
En la clase MiembroFamilia:
private static String apellido=“Carrillo”;
String ap=MiembroFamilia.apellido;
Operadores
• static
• Métodos utilitarios o de clase
• No necesitan una instancia para ser invocados
En la clase ManejoCadena
public static int comparar(String cad1, String
cad2){…}
int comp=ManejoCadena.comparar(c1,c2)
Operadores
• static
• Conversión de tipos de datos
• int i;
• String cad=“1234”;
• i=Integer.parseInt(cad);
Operadores
• final
• atributo: no varía su valor
• private final int edadMinima=18;
edadMinima: 18 edadMinima: 18
edadMinima: edadMinima:
Operadores
• this
• El objeto que se está declarando
public void cambiarNombre(String nom){
this.nombre=nom; // igual a: nombre=nom;
}
• Evitar ambigüedad:
public void cambiarNombre(String nombre){
nombre=nombre;
// se debe poner : this.nombre=nombre;
}
Operadores
• super
• Hace referencia a los métodos o atributos de la
clase padre cuando hay ambigüedad.
• Se profundizará en el tema de Herencia.
Encapsulamiento
• Atributos private: sólo a través de métodos se
manejan
• Métodos public: para manejar los atributos
Creación de objetos
• Estudiante e;
• !tiene un null si es atributo. Sino, ni idea!
• e no tiene memoria asignada
• e=new Estudiante();
• e=new Estudiante (“Angela”, “Sistemas”);
e1=new Estudiante(“Felipe”,”Economía”);
e2=new Estudiante(“Martín”,”Derecho”);
== comparación de referencia
= asignación de referencias
obj1.equals(obj2) comparación de contenidos
Comparación de Objetos
• Estudiante e1,e2;
e1=new Estudiante(“Felipe”,”Economía”);
e2=new Estudiante(“Martín”,”Derecho”);
e1 e2
e1=new Estudiante(“Felipe”,”Economía”);
e2=new Estudiante(“Martín”,”Derecho”);
e1==e2 e1 e2
Nombre: Felipe
e1.equals(e2)
Nombre: Martín
Carrera; Economia Carrera; Derecho
e1=new Estudiante(“Martín”,”Derecho”);
e1 e2
Nombre: Felipe
Carrera; Economia
X Nombre: Martín
Carrera; Derecho
Nombre: Martín
Carrera; Derecho
Comparación de Objetos
• Estudiante e1,e2;
e1=new Estudiante(“Felipe”,”Economía”);
e2=new Estudiante(“Martín”,”Derecho”);
e1=e2; e1 e2
Nombre: Felipe Nombre: Martín
Carrera; Economia Carrera; Derecho
e1==e2
e1.equals(e2)
e1 e2
X Nombre: Felipe
Carrera; Economia
Nombre: Martín
Carrera; Derecho
Sobrecarga de métodos
• Métodos con:
• El mismo nombre
• Diferentes parámetros
• Mismo tipo de retorno
public Estudiante(){}
public Estudiante(String nom, String car){}
public Estudiante (Estudiante e){}
Sobrecarga de métodos
• public float calcularSalario(){}
• public float calcularSalario(float impuesto){}