FUNCIONAL: programación declarativa
basado en el uso de funciones matemáticas,
en contraste con la programación
imperativa, que enfatiza los cambios de
estado mediante la mutación de variables
ESTRUCTURADO: orientado a mejorar la
claridad, calidad y tiempo de desarrollo de un
programa de computadora, utilizando
únicamente subrutinas y tres estructuras:
secuencia, selección (if y switch) e iteración
(bucles for y while), considerando innecesario y
contraproducente el uso de la instrucción de
transferencia incondicional (GOTO), que podría
conducir a "código espagueti", que es mucho
más difícil de seguir y de mantener, y era la
causa de muchos errores de programación.
P.O.O
Caracteristicas de la POO
Polimorfismo
la capacidad que tienen los
objetos de una clase de
responder al mismo mensaje
o evento en función de los
parámetros utilizados durante
su invocación.
Herencia
La herencia (a la que
habitualmente se denomina
subclases) proviene del
hecho de que la subclase (la
nueva clase creada) contiene
las atributos y métodos de la
clase primaria.
Abstraccion
refiere al énfasis en el
"¿qué hace?" más que
en el "¿cómo lo hace?"
(característica de caja
negra)
Encapsulamiento
ocultamiento del estado, es
decir, de los datos miembro
de un objeto de manera que
sólo se pueda cambiar
mediante las operaciones
definidas para ese objeto.
Conceptos Fundamentales
Objeto
unidad dentro de un programa de
computadora que consta de un estado y
de un comportamiento, que a su vez
constan respectivamente de datos
almacenados y de tareas realizables
durante el tiempo de ejecución.
Clase
plantilla para la creación de objetos de
datos según un modelo predefinido. Las
clases se utilizan para representar
entidades o conceptos, como los
sustantivos en el lenguaje.
Atributo
Caracterísiticas individuales que
diferencian un objeto de otro y
determinan su apariencia, estado u
otras cualidades. Los atributos se
guardan en variables denominadas de
instancia, y cada objeto particular
puede tener valores distintos para estas
variables.
Metodo
subrutina cuyo código es definido en
una clase y puede pertenecer tanto a
una clase, como es el caso de los
métodos de clase o estáticos, como a un
objeto, como es el caso de los métodos
de instancia