Está en la página 1de 32

CONCEPTOS BÁSICOS DE

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

Tiene una privacidad/visibilidad, un tipo de dato, un


nombre y un valor

private String nombre;


private int edad;
Atributos en Java (1)
Privacidad/visibilidad:

• public : todos
• private: sólo los objetos de la misma clase
• protected: herencia

• Paquete: cuando no se pone ninguna visibilidad


Paquete
• Conjunto de clases organizadas por un criterio
• Similar al concepto de Librería
• import
• Lenguaje interpretado
• Java Virtual Machine (JVM)
Atributos en Java (2)
Tipos:

• Básicos: siempre se inicializan por defecto en el “0”


private int edad;

• Objetos: siempre se inicializan en null y se les debe


pedir memoria
private String nombre;
Método
Servicio que ofrecen todos los objetos de una misma
clase

Tiene una privacidad/visibilidad, un tipo de retorno, un


nombre y unos parámetros

public float calcularPromedio(){ … }

public Estudiante(String nom, String car ) { ….}


Método
Parámetros
Tipo nomParámetro

Todos los parámetros de tipo:

Básico: pasan por valor


Objeto: pasan por referencia
Método
Tipos de métodos:
• Constructores
• Modificadores
• Analizadores
• Destructores
Método
Constructores:
• Método con el mismo nombre de la clase
• Siempre debería ser public
• Nunca tiene tipo de retorno
• Inicializa los valores de los atributos
• Pueden ser:
• Por defecto
• Con parámetros
• Con el operador new pide memoria
Método
Analizadores:
• getters
• retornan el valor de un atributo
Modificadores:
• setters
• modifican el valor de un atributo
Destructores:
• liberan memoria
• en Java no existen. Sólo está el Garbage Collector
Operadores
• Operador ‘.’
• static
• final
• this
• super
Operadores
• Operador ‘.’
• Se referencian los atributos y métodos de un
objeto:
• Estudiante e=new Estudiante(“Angela”,
“Sistemas”);

• 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

nombre: Mónica nombre: Fernando


apellido apellido
Parentesco: hija Parentesco: padre

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

• private static final int 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”);

• Sólo con el llamado del constructor tiene memoria


Comparación de Objetos
• Estudiante e1,e2;

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==e2 Nombre: Felipe


Carrera; Economia
Nombre: Martín
Carrera; Derecho
e1.equals(e2)
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
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){}

También podría gustarte