Professional Documents
Culture Documents
Todo lo que puede ser conocido o sentido por el sujeto, incluso él mismo.
En un sentido amplio, el objeto resulta ser aquella cosa que se puede percibir a través
de alguno de nuestros sentidos, sobre la cual se puede actuar y que carece de
autonomía a la hora de la acción.
CLASE
Persona
Colegio
Guitarra
POLIMORFISMO
1.- Dada una clase vehículo, la característica de polimorfismo habilita al programador para
definir métodos en sus subclases (por ejemplo: coche camión y moto)
No importa qué tipo de vehículo sea ya que si llámanos al método getNumeroRuedas () llamara
al propio de cada subclase, pero el objeto no deja de ser vehículo también.
2.- Dada la clase padre Person y las sublaces Student, añadimos otra subclase llamada Emplyee
Person
Student Employee
3.- En java podemos crear una referencia que es de tipo superclase, Person, aun objeto de su
subclase Student
ENCAPSULAMIENTO
1.-
class Persona {
String nombre;
int edad;
int edad() {
return this.edad;
}
}
2.-
class Persona {
private String nombre;// <-- ya nadie lo puede ver
private int age;// <-- ya nadie lo puede ver
public int age() {
return this.age;
}
}
public class OtroEjemplo {
private String nombre;
public void setNombre(String value) {
if (nombre != null) {
throw new IllegalStateException("El nombre solamente puede ser fijado
una vez");
}
if (value==null) {
throw new IllegalArgumentException("Nombre no puede ser nulo");
}
if (value.length() < 4 || value.length() > 50) {
throw new IllegalArgumentException("Nombre debe medir entre 4 y 50
caracteres");
}
nombre = value;
}
}
HERENCIA SIMPLE
En este ejemplo tendríamos las cosas generales de un Barco
class Barco {
protected:
char* nombre;
float peso;
public:
//Constructores y demás funciones básicas de barco
};
y ahora las características de las clases derivadas, podrían (a la vez que heredan las de barco)
añadir cosas propias del subtipo de barco que vamos a crear, por ejemplo:
class Carguero: public Barco { // Esta es la manera de especificar que
hereda de Barco
private:
float carga;
//El resto de cosas
};
class Empleado {
Persona jefe;
int sueldo;
Cobrar();
...
};