
Lección 4: Propiedades de la Programación Orientada a Objetos.
1.- Las propiedades de la programación orientada a objetos.
Existen tres propiedades fundamentales que presentan los objetos:
- Encapsulación - Tambien se conoce como "Ocultamiento", se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y métodos) al resto de los usuarios.
- Herencia - Es la capacidad que tiene una clase de heredar las propiedades y métodos de otra clase.
- Polimorfismo - Significa que métodos que se llaman exactamente igual pueden comportarse de manera distinta en clases diferentes. También se le conoce como "Redefinición".
2.- Encapsulación.
Las tres áreas de visibilidad (pública, privada y protegida) son la base de la encapsulación.
Si se quiere encapsular el estado de un objeto completamente, no se tiene que declarar ningún atributo público. Además de definir la visibilidad de un atributo, se puede proteger también de los cambios usando la adición READ-ONLY.
3.- Herencia.
La herencia permite crear una nueva clase a partir de una existente, heredando la nueva clase sus propiedades. Esto se realiza añadiendo la adición INHERITING FROM a la sentencia de definición de la clase.
Tipos de herencia:
- Simple - Una clase puede tener más de una subclase de las cuales es superclase, pero sólo puede tener una superclase de la cual es subclase.
- Múltiple - Una clase hereda de varias superclases.
4.- Polimorfismo.
Dicho de otra forma el polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objeto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de dicha clase o subclases.
Se puede usar la adición REDEFINITION en la sentencia METHODS para redefinir un método público o protegido dependiente de instancia en una subclase y hacer que realice una función más especializada.
Por ejemplo, supongamos que tenemos la clase VEHICULO y las subclases CAMION, BARCO y AVION.
En la clase VEHICULO podemos tener definido el método CARGAR_NAFTA y luego en cada subclase tendremos una implementación particular del método, ya que no es exactamente lo mismo cargar nafta en un CAMION, en el BARCO o en un AVION.