Programacion Orientada
PROGRAMACIÓN
ORIENTADA A OBJETOS
ADAPTACIÓN RESUMIDA DEL TEXTO DE TIMOTHY BUDD
AN INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
2001
ÍNDICE
1. INTRODUCCIÓN .....................................................…….. . 2
2. CLASES Y MÉTODOS ....................................................… 9
3. MENSAJES, EJEMPLARES E INICIALIZACIÓN ......... 13
4.HERENCIA .......................................................................... 21
5. ENLACES ESTÁTICO Y DINÁMICO .............................. 33
6. REEMPLAZO Y REFINAMIENTO .................................. 38
7. HERENCIA Y TIPOS ......................................................... 48
8. HERENCIA MÚLTIPLE .......................................…....….. 59
9. POLIMORFISMO.......……...........………….................…. 65
10. VISIBILIDAD Y DEPENDENCIA ..........................…....... 71
1. INTRODUCCIÓN
1.1. UN NUEVO PARADIGMA
* Paradigmas clásicos
Programación imperativa, programación funcional, programación lógica.
* Significado de la palabra paradigma
Ejemplo ilustrativo, enunciado modelo. El historiador Thomas Kuhn extiende tal definición:conjunto de teorías, estándares y métodos que en conjunto representan una forma de organizar el conocimiento, es decir, una forma de ver la realidad. Luego, la programación orientada a objetos (POO) es un nuevo paradigma.
1.2. UNA MANERA DE VER LA REALIDAD
* Ejemplo ilustrativo
Paco desea enviar de regalo un loro a su amigo Pepe quien vive en una lejana ciudad. Para ello, accede a Perico, elpajarero local, a quien le describe las características del loro objeto del regalo; con esto, Paco puede tener la certeza de que el loro será oportunamente entregado.
* Mensajes y métodos
En la POO, la acción se inicia mediante la transmisión de un mensaje a un agente (un objeto) responsable de la acción. El mensaje tiene codificada la petición de una acción y se acompaña de cualquierinformación adicional (argumentos) necesaria para llevar a cabo la petición. El receptor es el agente al cual se envía el mensaje. Si el receptor acepta el mensaje, acepta la responsabilidad de llevar a cabo la acción indicada. En respuesta a un mensaje, el receptor ejecutará algún método para satisfacer la petición.
* Diferencias entre mensaje y llamada a un procedimiento
El mensaje posee unreceptor designado; el receptor es algún agente al cual se envía el mensaje; la llamada a un procedimiento carece de un receptor designado, aunque se podría adoptar la convención, por ejemplo, de siempre llamar receptor al primer argumento de un procedimiento.
La interpretación del mensaje (es decir, la selección de un método para responder a un mensaje) depende del receptor y puede variar condiferentes receptores. Por ejemplo, si Paco da el mismo mensaje a su hermana Peca, ella lo entenderá y se obtendrá un resultado satisfactorio. Sin embargo, el método que Peca use para satisfacer la petición (seguramente sólo transmitirá la solicitud a Perico) será diferente del ejecutado por Perico como respuesta a la misma demanda.
* Enlaces temprano y tardío
Por lo general, el receptorespecífico para cualquier mensaje dado, no se conoce sino hasta el tiempo de ejecución, por lo que la determinación del método a usar no puede hacerse hasta ese momento. Luego, se dice que hay un enlace tardío entre el mensaje (nombre de la función) y el fragmento de código (método) usado para responder al mensaje. Esta situación es opuesta a la de enlace temprano (en tiempo de compilación o deligadura) entre el nombre y el fragmento de código en llamadas a procedimientos convencionales. Es importante notar que el comportamiento se estructura en términos de las responsabilidades. La solicitud de Paco sólo indica el resultado deseado (un loro para Pepe). Por conocimientos previos, Pepe (y cada usuario) tiene una idea de cómo funciona una pajarería y, por lo tanto, espera un detrminado...
Regístrate para leer el documento completo.