informática

Páginas: 5 (1177 palabras) Publicado: 17 de junio de 2014
2/2/12
 

Repaso

Programación orientada a
objetos
Curso INEM. Programación en Java
Santiago Muelas Pascual
smuelas@fi.upm.es

! Clase

! Operador .

! Objeto

!   this

! Atributo o variable de instancia

! Referencias

! Método

! Sobrecarga

! Instanciar/crear un objeto
!   Constructor

Cohesión y acoplamiento
!   Cohesión: Grado de relación entre lasdiferentes características de
un objeto

Ocultación de la información
!   El acceso directo a tributos no es recomendable porque revela
la estructura interna del objeto
!   Los métodos definen cómo se debe usar un objeto
!   Permitir el acceso a los atributos es dar “vía libre” a manipular
su estado sin control
!   Nos limita la posibilidad de modificar la implementación

!   Objeto con unafunción muy bien definida: muy cohesionado
!   Objeto con muchas funciones no relacionadas: poco cohesionado

!   Acoplamiento: Grado de dependencia entre los diferentes objetos
!   Programa en el que todas las clases tienen funciones distintas y
definidas: Poco acoplado
!   Programa en el que todas las clases participan en todas las tareas
Muy acoplado

!   Se debe maximizar la cohesión decada objeto y minimizar el
acoplamiento entre clases distintas

!   En su lugar se deben definir métodos que, de forma genérica,
modifiquen el estado de acuerdo a consideraciones
semánticas
!   Se debe prohibir el acceso a los atributos
!   Modificadores de la visibilidad

Visibilidad/Control de acceso

Visibilidad/Control de acceso
public class Coche {

!   Puede (y suele) haberdistintos niveles de visibilidad para los
miembros (atributos y métodos) de una clase.

private String color;
public void ponColor(color) {

!   Existen cuatro tipos de modificadores:
!
!

private: sólo se puede acceder desde la propia clase

!

this.color = color;

public: se puede acceder desde cualquier lugar
protected: sólo se puede acceder desde la propia clase o desde
una claseque herede de ella

}
public static void main(String[] args) {
Coche c = new Coche();

!   Se verá más en detalle en el tema de herencia

c.ponColor(“ROJO”);

!   Por defecto (package): Se puede acceder desde las clases
pertenecientes al mismo paquete

c.color = “VERDE”;
}

!   Se verá más adelante
}

1
 

2/2/12
 

Métodos get y set

Visibilidad/Control de accesopublic class Coche {
private String color;

! Convenio para acceder a atributos con visibilidad privada

public void ponColor(color) {

! Método Get

this.color = color;
}

!

Devuelve el valor de una variable

! Método Set

public static void main(String[] args) {
Coche c = new Coche();
c.ponColor(“ROJO”);

!

Modifica el valor de una variable

!   El uso indiscriminadoelimina las ventajas de la ocultación
de la información.

c.color = “VERDE”; // ERROR!!!
}
}

Métodos get y set
public class Coche {
private String color;
public void setColor(color) {
this.color = color;

Métodos get y set
! Convenio para acceder a atributos con visibilidad privada
! Método Get
!

! Método Set
!

}
public String getColor() {

Devuelve el valor de unavariable

Modifica el valor de una variable

!   El uso indiscriminado elimina las ventajas de la ocultación
de la información.

return color;
}
}

Métodos estáticos o de clase
!   Muchas veces nos hacen faltan métodos que no necesiten de
un objeto para ser llamados. Ej: Math.sqrt()
!   Métodos estáticos

!   Tienen el modificador static delante de la declaración
!   Se invocan dentrode un método o por medio del
identificador de la clase
!

Ej: MiClase.miMetodo(1,2,3); Math.sqrt(4.0);

static tipo nombreMetodo(parametros) {
}

Atributos estáticos o variables de
clase
!   Variables comunes a todos los objetos
!   Una sóla instancia/copia por clase
! Ej: Clase Coche Toyota Corolla
!   Nº ventanas, dimensiones, …

!   Tienen el modificador static delante de la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informática
  • Informatica
  • Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS