Académique Documents
Professionnel Documents
Culture Documents
GRUPO 02
VALLEDUPAR (CESAR)
2019
LA P.O.O
Docente:
JAIRO FRANCISCO SEOANES LEON
GRUPO 02
VALLEDUPAR (CESAR)
2019
INTRODUCCIÓN
Aplicar los conceptos de abstracción, tipo abstracto de dato, jerarquías, clases y objetos,
Aprendidos en clase
LA POO
1. HISTORIA
A. Es un paradigma de la programación de computadores que tiene como objetivo el
desarrollo computacional basado en una colección de objetos que están
interrelacionados y trabajan conjuntamente para resolver un problema. Surge dentro
de los paradigmas de la programación como un enfoque diferente al momento de
obtener soluciones computacionales. Este paradigma surge en Noruega en 1967 con
un lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan
Dahl, en el centro de cálculo noruegoSimula 67. Simula se definió como un lenguaje
de programación orientado a la simulación de procesos, con el que se podían definir
distintos tipos de actividades. En este lenguaje aparecen por primera vez los
conceptos de clases y objetos.
Uno de los problemas de inicio de los años setentas era que pocos sistemas lograban
terminarse, pocos se terminaban con los requisitos iniciales y no todos los que se
terminaban cumpliendo con los requerimientos se usaban según lo planificado. El
problema consistía en cómo adaptar el software a nuevos requerimientos imposibles de
haber sido planificados inicialmente.
En los 70’s científicos del centro de investigación en Palo Alto Xerox (Xerox park)
inventaron el lenguaje Small talk que dio respuesta al problema anterior (investigar no
planificar).
Small talk fue el primer lenguaje Orientado a Objetos puro de los lenguajes Orientados a
Objetos, es decir, únicamente utiliza clases y objetos (Java usa tipos de datos primitivos, o
bien los Wrappers que son clases que encapsulan tipos de datos primitivos).
Quien tuvo la idea fue D. Parnas cuando propuso la disciplina de ocultar la información. Su
idea era encapsular cada una de las variables globales de la aplicación en un solo módulo
junto con sus operaciones asociadas, sólo mediante las cuales se podía tener acceso a esas
variables.
El resto de los módulos (objetos) podían acceder a las variables sólo de forma indirecta
mediante las operaciones diseñadas para tal efecto.
En los años 80’s Bjarne Stroustrup de AT&T Labs., amplió el lenguaje C para crear C++
que soporta la programación Orientada a Objetos.
En el inicio de los 90’s se consolida la Orientación a Objetos como una de las mejores
maneras para resolver problemas. Aumenta la necesidad de generar prototipos más
rápidamente (concepto RAD Rapid Aplication Developments). Sin esperar a que los
requerimientos iniciales estén totalmente precisos.
VENTAJAS
Una buena abstracción de las clases, objetos y atributos nos brinda una
implementación más detallada, puntual y coherente.
Reutilización de código: Cuando se han diseñado adecuadamente las clases, se
pueden usar en distintas partes del programa y en numerosos proyectos (herencia).
Lo cual pemite:
Rápido desarrollo.
Alta calidad del código.
Bajo costo en fases de desarrollo.
Modificabilidad: La facilidad de añadir o suprimir nuevos objetos nos permite
hacer modificaciones de una forma muy sencilla.
Encapsulamiento: Nos permite proteger la integridad de los datos.
Fiabilidad: Al dividir el problema en partes más pequeñas podemos probarlas de
manera independiente y aislar mucho más fácilmente los posibles errores que
puedan surgir.
Bajo acoplamiento y alta cohesión: Las clases son independientes entre sí, y hacen
las tareas específicas para las cuales fueron diseñadas.
Beneficios de diseño
Mantenimiento de software
Amplia documentación
DESVENTAJAS
B. CUADRO COMPARATIVO
2. IDENTIFICAR Y SELECCIONAR CINCO OBJETOS DEL MUNDO REAL Y SOBRE ELLOS
DETERMINAR:
A) ATRIBUTOS (MÍNIMO 5 – BIEN DEFINIDOS)
B) COMPORTAMIENTOS (MÍNIMO 5 – BIEN DEFINIDOS)
C) CONSTRUIR EL DIAGRAMA DE TAD CORRESPONDIENTE (DEFINIENDO LOS TIPOS DE
DATOS QUE PUEDE REPRESENTAR CADA ATRIBUTO DEFINIDO).
Float Tamaño
String Color
Tamaño, color, numero Int NumeroCajones
de cajones, material, String Material
peso, valor
Float Peso
float Valor
GuardarCosas()
Guardar cosas, colocar ColocarCosas()
cosas, regalar, vender,
botar Regalar()
¡
Vender()
Botar()
String Logo
Logo, Tamaño, valor,
color, peso Float Tamaño
Float Valor
String Color
Float peso
Utilizarlas()
Utilizarlas, lavarlas,
Lavarlas()
regarlas, dañarlas,
venderlas Regarlas()
Dañarlas()
Venderlas()
Float Tamaño
Int numeroHélices
Tamaño, numero de
hélices, color, numero de String color
botones, forma, motor Int numeroBotones
String forma
String motor
Prenderlo()
Prenderlo, apagarlo, Apagarlo()
arreglarlo, venderlo,
Arreglarlo()
dañarlo, regalarlo
Venderlo()
Dañarlo()
regalarlo()
numero de teclas, color,
Int NumeroTeclas
numero de memorias,
tipo de material, número String color
de tarjetas Int numeroMemorias
String tipoMaterial
Int numeroTarjetas
RealizaTrabajos()
organiza()
String TipoDisplay
Int numeroBotones
Tipo de Display, numero
Float Tamaño
botones, Tamaño, color,
tipo de lente, tipo de flash String Color
String tipoLente
String tipoFlash
Dañarlo()
ZAPATOS
ABANICO
TELÉFONOS
MOTOS
VIVIENDAS
E) MENCIONAR CINCO (5) OBJETOS CON LOS CUALES PUEDA ESTABLECER RELACIÓN DE
AGREGACIÓN.
Const pi
CalcularCoordenadas() CalcularÁrea()
CalcularPerímetro()
C) SE DESEA CALCULAR LA VELOCIDAD FINAL DE UN ROCA QUE CAE EN CAÍDA LIBRE
DURANTE UN TIEMPO T.
Int a
Float Vi
Int b
Float tiempo
Int c
Const gravedad
CalcularEcuaCuadratica ()
CalcularVelocidad()
E) SE DESEA CALCULAR LA EDAD DE UNA PERSONA.
PERSONA
Int mes_nacido
Int año_nacido
CalcularEdad ()