Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetos
Conceptos Generales
Paradigmas de la programación
• Programación imperativa
• Programación estructurada y modular
• Programación orientada a objetos
• Programación funcional
• Programación lógica …..
Programacion modular y estructurada:
Ventajas
- Facilita el desarrollo
- Evita la repeticion de trabajo
- La tarea de programar es dividido en
modulos independientes
- Diseño Top-Down
- Facilita el mantenimiento
- Claridad de codigo
- Independencia del modulo
- Facilita la reutilizacion
Programacion modular y estructurada:
Desventajas
- Fuerte acoplamiento
- Confusion en el uso de globalidad o localidad de variables
- La importacion de metodos y no de estructuras
- Extensiblidad limitada
La Programacion Orientada a Objetos trabaja asi:
Class Figura
.........
Class Automovil
.........
Class Perro
........
Por qué la orientación a
objetos
O La técnica orientada a objetos sigue con
frecuencia el mismo método que
aplicamos en la resolución de problemas
de la vida diaria.
O El análisis y diseño orientado a objetos
modela el mundo en términos de objetos
que tienen estado y comportamiento, y
eventos que activan operaciones que
modifican el estado de esos objetos.
Algunos beneficios de la
orientación a objetos
Reutilización. Permite la reusabilidad de código
empleando menos tiempo de desarrollo.
O Integridad. Los mecanismos de encapsulación
protegen sus propios componentes.
O La forma de pensar en objetos es más natural. El
diseñador piensa en términos de objetos y no en
detalles de bajo nivel.
O Programación más sencilla. Los programas se crean
a partir de piezas pequeñas.
Otros beneficios de la
tecnología OO
O Los métodos de los objetos pueden ser polimórficos, es
decir, se “comportan” de distintas maneras.
O Es más sencillo modificar código existente, cada clase
efectúa sus funciones independientemente de las
demás.
O Se construyen clases cada vez más complejas a partir
de otras más sencillas ya existentes.
O Estabilidad de los modelos respecto a entidades del
mundo real.
Motivos que han conducido al
éxito la tecnología de objetos
O Avances en arquitectura de computadores
O Avances en lenguajes de programación
(Smalltalk, C++, Java, Python ...).
O Ingeniería del software (modularidad,
encapsulado de la información, proceso de
desarrollo incremental)
O Los límites de la capacidad de gestionar la
complejidad de los sistemas solo con técnicas
de descomposición algorítmica
Qué es la Programación
Orientada a Objetos
O Organización de los programas de manera que representan
la interacción de las cosas en el mundo real.
O Un programa consta de un conjunto de objetos.
O Los objetos son abstracciones de cosas del mundo real.
O Cada objeto es responsable de unas tareas.
O Los objetos interactúan entre sí por medio de mensajes.
O Cada objeto es un ejemplar de una clase.
O Las clases se pueden organizar en una jerarquía de
herencia.
O Un objeto es cualquier
cosa, real o abstracta,
acerca de la cual
almacenamos datos y los
métodos que controlan
dichos datos.
O La programación
orientada a
objetos (POO)
encapsula datos
(atributos o
propiedades) y
métodos
Clases y objetos
O Una clase es una descripción generalizada
de un conjunto de objetos similares.
O Es la descripción de un conjunto de objetos
que comparten los mismos atributos,
operaciones, relaciones y semántica.
O Todos los objetos son ejemplares de una
clase.
O Un objeto es una instancia o variable de
una clase. Un objeto se distingue de otros
miembros de la clase por sus atributos.
Ejemplo de clases y
objetos
O Clase:
Coche
Objeto: Ferrari
Ejemplo de objeto con sus
métodos y propiedades
O Propiedades o atributos
O Tipo de pantalla
O Espacio de memoria
O Cantidad de tonos
O Tipo de antena
O Cantidad de idiomas, etc.
O Métodos o
comportamientos
O Iniciar alarma
O Asignar tonos
O Registrar llamadas
Superclase: Teléfono O Iniciar Juego
O Utilizar Calculadora
Clase: Teléfono Celular O Enviar mensajes, etc
Subclase: Teléfono Celular Digital
Tipos Abstractos de Datos (TAD)
Abstracción
O Es el conocimiento que se tiene de una cosa
prescindiendo de los detalles que le rodean.
O La abstracción localiza y oculta los detalles
de un modelo o diseño para generar y
manipular objetos.
O Conocemos un objeto viéndolo,sabemos
qué es, sin necesidad de ver su interior, su
implementación o su forma de construcción.
Tipos de datos
Ej:
Clase Matriz, Lista, Vector, Complejo,
Fraccion,…etc.
¿Que es una instancia de TAD?
Ej:
Fraccion f1,f2
Matriz x1
ListaDoble a,b,c
TAD Complejo