Conceptos Clave de Clases en Programación Orientada a Objetos
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,55 KB
Conceptos Clave de Clases
Una clase define la forma y el comportamiento de un objeto. Al diseñar una clase, es fundamental considerar:
- Encapsulamiento: No se debe tener acceso directo a la estructura interna de las clases. El acceso a los atributos debe realizarse a través de getters y setters.
- Independencia: Se busca que las clases tengan un alto grado de independencia, permitiendo modificar el código sin alterar la interfaz con otras clases o programas.
Niveles de Acceso
- public: Un miembro público puede ser accedido desde cualquier otra clase o subclase. La interfaz de una clase está compuesta por todos sus miembros públicos. Ejemplo:
public void ejemplo(){}
- private: Solo puede ser accedido desde los métodos internos de la misma clase. Ejemplo:
private string ejemplo;
- protected: Similar a
private
, pero los miembros se consideran públicos para las clases o subclases del mismo paquete. Ejemplo:protected void ejemplo (){}
- No especificado: Los miembros pueden ser accedidos por cualquier clase perteneciente al mismo paquete. Ejemplo:
void ejemplo(){}
Referencia al Objeto this
Al acceder a variables de una clase, la palabra clave this
hace referencia a los miembros de la propia clase en el objeto actual. Es decir, this
se refiere al objeto sobre el que está actuando un método determinado.
Métodos Importantes
clone
: Permite copiar un objeto en otro, equivalente a usar un constructor de copia.equals
: Permite comparar dos objetos, verificando si ambas referencias son iguales. No realiza una comparación en profundidad, solo compara las referencias. Ejemplo:rectángulo r1 = new rectángulo(5,7); rectángulo r2 = new rectángulo(5,7); rectángulo r3 = r1; if (r1.equals(r2)) { // No son iguales sop("iguales r1 y r2(equals)"); } if (r1.equals(r3)) { // Son iguales sop("iguales r1 y r3"); }
Métodos Estáticos o de Clase
- Los métodos
static
no tienen referenciathis
. - Los métodos
static
no pueden acceder a miembros que no seanstatic
. - Un método
static
puede acceder a miembrosstatic
y nostatic
.
Métodos Recursivos
Un método es recursivo cuando se llama a sí mismo. Se utiliza cuando la resolución de un problema es más sencilla o cuando hay un caso base simple. La recursividad puede no ser eficiente, pero es fácil de programar y entender.
Clases Finales
El modificador final
indica que una clase no puede ser heredada. Para usarla, se debe crear una instancia de la misma. Se utiliza cuando se desea que los métodos y funciones permanezcan inalterables.
Clases Abstractas
Una clase abstracta no puede ser instanciada, solo puede ser heredada. Una clase se declara abstracta si posee al menos un método abstracto. Sintaxis: [public] [final] abstract] class [extends claseMadre] [implements interface1 interface2]
Interfaces
Una interfaz es una plantilla que define métodos sobre lo que una clase puede hacer. Por ejemplo, en una clase Animal
, se pueden definir métodos como comer
, beber
y respirar
, pero cada animal puede implementarlos de manera diferente. La interfaz define el comportamiento común.
Características de las Interfaces
- Todos los métodos son abstractos y deben ser sobrescritos por la clase que implemente la interfaz.
- Todos los métodos deben ser públicos.
- Todas las variables deben ser públicas, estáticas y finales (constantes).
- Los métodos no deben ser estáticos ni marcados como
final
. - Una interfaz puede extender una o más interfaces.
- Una interfaz no puede extender o heredar nada que no sea otra interfaz.
- Una interfaz no puede implementar nada.
Ejemplo de Interfaz
interface miInterfaz {
int conts = 12;
void hacerAlgo();
}
class Miclase implements MiInterfaz {
public void hacerAlgo() {
// Implementación del método
}
}