Publicado el 14 de Enero del 2017
2.507 visualizaciones desde el 14 de Enero del 2017
253,7 KB
49 paginas
En este pequeño libro
intentaremos dar una visión
general de la Programación
Orientada al Objeto (POO o
también del inglés OOP =
Object Oriented Programming).
Ya que la OOP no es un
lenguaje de programación,
puede aplicarse a cualquier
lenguaje, y de hecho hoy en día
está disponible en mayor o
menor medida en todos los
lenguajes tradicionales (C se ha
convertido en C++, Pascal en
Delphi, VB incorpora parte de
la OOP) y no aparece un
lenguaje nuevo sin que incluya
OOP (como es el caso de Java).
Es por esto que intentaremos
que todo lo que aquí se diga
pueda ser aplicado a cualquier
lenguaje OOP.
El objetivo de este libro es,
pues, el aprendizaje de los
términos teóricos que todos
manejamos hoy en día, en
cualquier entorno de
programación cuando nos
referimos a la orientación a
objetos.
Desarrollo de software
Introducción a la
OOP
Grupo EIDOS
Introducción a la OOP
© Grupo EIDOS
2
Introducción a la OOP. Versión 1.0.0
Autor: Francisco Morero
1999-2000 © Grupo EIDOS
Ejemplar gratuito
© Grupo EIDOS
Índice
INTRODUCCIÓN
BREVE REVISIÓN HISTÓRICA
EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN
Evolución en cuanto a la tecnología
Evolución en cuanto a la conceptualización
Programación lineal
Programación estructurada
Programación Orientada al Objeto
Evolución en cuanto al enfoque
Programación Procedural
Programación Declarativa
Programación Orientada al Objeto
¿Qué es la OOP?
Breve historia de la OOP
PROGRAMACIÓN ORIENTADA AL OBJETO
CONCEPTOS BÁSICOS
Definición de Clase
Definición de Objeto
Ejemplo 1
Ejemplo 2
Ejemplo 3
Ejemplo 4
Ejemplo 5
Herencia
this
super
Clase A
Clase B
Encapsulación
Polimorfismo
Sobrecarga
PLANTEAMIENTO DE LA IMPLEMENTACIÓN
DE LA TEORÍA A LA REALIDAD
EL OPERADOR DE ENVÍO
Referencias a sí mismo
CONSTRUCTORES Y DESTRUCTORES
Constructores
Destructores
ACCESIBILIDAD DE DATOS Y MÉTODOS
Modificadores de Accesibilidad
Públicos
Índice
5
7
7
8
10
10
10
11
11
12
12
12
13
14
17
17
18
20
20
21
21
21
22
23
24
25
25
25
26
29
30
31
33
33
34
35
35
37
37
37
37
3
© Grupo EIDOS
37
37
38
39
39
40
41
43
Introducción a la OOP
Protegidos
Privados
CLASE Y OBJETO
Modificadores de Contenido
Interfaz frente a implementación
Permitir el uso de métodos con sintaxis de datos
LIMITACIONES E INCONVENIENTES DE LA OOP
GLOSARIO
4
Introducción
En este breve libro intentaremos dar una visión general de la Programación Orientada al Objeto
(POO o también del inglés OOP = Object Oriented Programming). No hay acuerdo sobre cómo se
debe traducir del inglés "Object Oriented Programming", si como "Programación Orientada a Objetos"
o como "Programación Orientada al Objeto". Según me comentó un catedrático de lengua española, es
más correcta la segunda acepción, y es por eso que es la que uso normalmente y la que se ha utilizado
en este curso. El lector encontrará no obstante ambas acepciones dependiendo del autor y la editorial a
se que se remita.
Ya que la OOP no es un lenguaje de programación, puede aplicarse a cualquier lenguaje, y de hecho
hoy en día está disponible en mayor o menor medida en todos los lenguajes tradicionales (C se ha
convertido en C++, Pascal en Delphi, VB incorpora parte de la OOP) y no aparece un lenguaje nuevo
sin que incluya OOP (como es el caso de Java). Es por esto que intentaremos que todo lo que aquí se
diga pueda ser aplicado a cualquier lenguaje OOP.
Sin embargo, cuando llegue el momento de escribir código, emplearemos una sintaxis híbrida de C++
y Java que según la opinión del autor del curso es la que puede resultar más clara independientemente
del lenguaje al que se acaben aplicado estos conocimientos.
Para empezar, rogaríamos al lector experimentado en programación, que dejase a un lado todas sus
ideas preconcebidas acerca de cómo debe realizarse un programa, la OOP tiene muy poco que ver con
su forma habitual de trabajo, e incluso de ver el mundo; de hecho, los no programadores, captan
mucho antes estas ideas, ya que no tienen prejuicios ni lastres ideológicos que les frenen.
Tenga en cuenta que usted, programador o no, ya sabe qué es un objeto y cómo manipularlo, lo lleva
haciendo desde que nació; si entiende la similitud entre los objetos del mundo físico y los
informáticos, la OOP le parecerá cosa de niños, pero no nos llevemos a engaño, éste es el punto más
Introducción a la OOP
© Grupo EIDOS
escabroso, hacer ver qué es la OOP, quitarnos todas las ideas preconcebidas sobre programación
tradicional.
Al autor, le costó más tiempo y esfuerzo llegar a verlo del que le hubiese costado a un neófito, pero yo
llevo mucho tiempo programando y mis conceptos eran demasiado rígidos. Necesité por tanto una
gran cantidad de "dinamita intelectiva" para hacer añicos la "roca granítica" de mis ideas
preconcebidas.
Conscientes de ello, hemos considerado como la mejor aproximación exponer una serie de ejemplos y
comparaciones de índole totalmente diferente. Algunas de ellas, las últimas, son para los
programadores, el lector neófito, puede prescindir de estas, no son necesarias en absoluto para
entender plenamente la OOP, pero a aquellos que conocen algún lenguaje de programación pueden
serles útiles para entender esta técnica. Estos ejemplos los expondremos en el próximo capítulo,
cuando entremos de lleno en OOP.
6
Breve revisión histórica
En este capítulo vamos a llevar a cabo una introducción muy general sobre la evolución de los
lenguajes en informática, para entrar posteriormente y más a fondo, en describir la aparición, los
principios teóricos y la evolución de la Programación Orientada al Objeto. Esta introducción no
pretende ser un libro de referencia técnica de informática: hemos preferido dar una visión general y
clara para el neófito, con lo que ello pueda acarrear de inexactitud, antes que perder la visión de
conjunto.
Empezaremos por hacer una revisión de la evolución de los leguajes de programación, continuaremos
explicando qué es la OOP para terminar haciendo una breve revisión histórica de la misma.
Evolución de los lenguajes de programación
Toda la historia de los lenguajes de programación se ha desarrollado en base a una sola idea
conductora: hacer que la tarea de realizar programas para ordenadores sea cada vez lo más simple,
flexible y portable posible.
La OOP supone, no solo un nuevo paso hacia ese fin, sino que además, a nuestro juicio, es el más
importante acaecido hasta el momento. Como nos comenta Eckel: "A medida que se van
desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas cada
vez más complejos. En la evolución de cada lenguaje, llega un momento en el que los programadores
comienzan a tener dificultades a la hora de manejar programas que sean de un cierto tamaño y
sofisticación." (Bruce Eckel, "Aplique C++", p. 5 Ed. McGrow-Hill).
Esta evolución en los lenguajes, ha venido impulsada por dos motores bien distintos:
Introducción a la OOP
Los avances tecnológicos
Los avances conceptuales (de planteamiento)
Los avances en cuanto a enfoque de la programación
Evolución en cuanto a la tecnología
© Grupo EIDOS
Como usted probablemente sabrá, un ordenador no es más que un conjunto de microinterruptores,
estos pueden estar apagados o encendidos (por lo que les llamamos elementos biestado). En un
principio estos interruptores eran relés, que no es más que un electroimán que puede cerrar o abrir un
circuito eléctrico. Si están apagados (no dejan pasar corriente), decimos que su estado es cero y en
caso contrario uno.
Un programa de ordenador no es más que una sucesión de instrucciones que se ejecutarán
secuencialmente, es decir, una detrás de otra. Por tanto, como la forma de programarlos es
introduciendo secuencias de ceros y unos (lo que llamamos bits); puede imaginarse la gran
probabilidad que existe de error al introducir sucesiones enormemente largas; además, una vez
cometido un error, intentar encontrarlo y corregirlo puede llevarnos antes al manicomio con un grave
cuadro de psicosis, que a la solución del problema.
De hecho, desde hace ya muchos años, los microprocesadores, que, como probablemente sabrá, son la
maquinaria ejecutora de los ordenadores, se fabrican para ser programados, no en binario (secuencia
de unos y ceros), sino en hexadecimal (un número hexadecimal equivale a 16 ceros o unos).
Cronológicamente el primer avance
lenguajes
ensambladores. A estos lenguajes los llamamos de "bajo nivel", ya que se hallan estrechamente
ligados a la forma de trabajo de la máquina con la que programamos y se opera con ellos de modo
muy similar a como se hace cuando trabajamos en hexadecimal.
importante vino con
la aparición de
los
Quizás usted pueda pensar que no hay gran diferencia entre programar en hexadecimal (o en binario),
y hacerlo a través de un ensamblador, y es cierto, pero este logro no lo es tanto en cuanto al modo de
trabajo (que seguía siendo precario y tedioso) como en cuanto a la nueva concepción que ello implica:
por primera vez aquello que nosotros escribimos no es entendible directamente por la máquina, sino
que debe ser previamente traducido para que la máquina lo entienda.
Un lenguaje ensamblador lo único que hace es transcribir unos nemónicos (palabras fáciles de
recordar) a la secuencia ceros y unos a los que el nemónico representa y q
Comentarios de: Introduccion a la Programacion Orientada a Objetos (0)
No hay comentarios