Introducción a la POO
Revisión histórica
Evolución histórica
Evolución en cuanto a tecnología
Microprocesadores
Lenguaje hexadecimal
Equivalente a 16 ceros o unos
Lenguajes ensambladores o lenguaje de bajo nivel
Lenguaje de alto nivel
Mas rápido y simple, ayuda a detectar y corregir los errores mas fácilmente
Cada instrucción de lenguaje de alto nivel equivale a cientos de instrucciones en un ensamblador
La sintaxis de las instrucciones y los nemónicos se parecen algo más al lenguaje cotidiano
Evolución en cuanto a la conceptualización
Programación Lineal
Cada línea de programa debe ir precedida de un identificador (una etiqueta) para poder referenciarla
Programación estructurada
Se destaca por usar subprogramas o funciones con la finalidad de mejorar la calidad y tiempo de desarrollo minimizando errores
Programación orientada a objetos
Ofrece mayor dominio sobre el programa ya que los objetos son entidades autónomas que se controlan a si mismos
Evolución en cuanto al enfoque
Programación procedural
Se deben establecer hechos, reglas de manejo de decisiones y como alcanzar el objetivos que se persigue
Algunos lenguajes que trabajan de forma procedural
Java
C
Programación declarativa
PROLOG
Se basa en manipulaciones lógicas, utiliza la lógica proposicional, lógica de predicados para realizar sus deducciones.
No se programa, sino que se declaran hechos, es la maquinaria del lenguaje quien se
encargará de extraer las conclusiones que resulten inferibles de estos hechos.
Programación orientada a objetos
Definición de clase
Una clase, es simplemente una abstracción que hacemos de nuestra experiencia sensible
Definición de objetos
Conjunto de datos (características o atributos) y métodos (los comportamientos que se puedan realizar)
Herencia
La herencia, es la cualidad más importante de la POO, ya que le permite reutilizar todo el código escrito para las superclases re-escribiendo solo aquellas diferencias que existan entre éstas y las subclases.
Encapsulación
Es un mecanismo para reunir datos y métodos dentro de una estructura ocultando la implementación del objeto, es decir, impidiendo el acceso a los datos por cualquier medio que no sean los servicios propuestos.
Polimorfismo
Se entiende por aquella cualidad que poseen los objetos para responder de distinto modo ante el mismo mensaje.
Sobrecarga
Es cuando se tienen carios métodos con el mismo nombre siempre y cuando los parámetros recibidos o el numero de ellos sean diferentes
¿Que es POO?
Son un conjunto de técnicas que permiten incrementar el proceso de producción de software; aumentando la productividad por un lado y permitiéndo abordar proyectos de mayor envergadura
Planteamiento de la implementación
Planificación jerárquica de clases
Uso de herramientas como "Rational Rose"
Consejos para planificar modelos previos a la planificación de clases
Dividir
Construir métodos en pequeñas tareas con la finalidad de aumentar la probabilidad de reutilizar el método en otro momento
No pensar en forma procedural
Los métodos no son funciones
No defina métodos como si fueran funciones, sino como acciones inherentes al objeto, con la finalidad de cambiar el funcionamiento interno sin que cambie el nombre de la clase ni losnombre de los métodos