Tip:
Highlight text to annotate it
X
www.AudioModulosUNAD.blogspot.com
Presenta
Audio Modulo
Programación Orientada a Objetos
Unidad 1
Introducción a la programación orientada a objetos
Se realiza con fines netamente educativos.
aprovechando todos los medios disponibles para mejorar los apreciamientos
de todos los contenidos
www.AudioModulosUNAD.blogspot.com
Universidad Nacional Abierta y a Distancia - UNAD
escuela ciencias básicas
tecnología e ingeniería
programa de ingeniería de sistemas
programación orientada a objetos
Ingeniero: César Orlando Jiménez Angarita
2010
unidad 1
introducción a la programación orientada a objetos
capítulo 1
conceptos básicos orientados a objetos
tomado del libro programación de computadores de josé cárcamo
sepúlveda
ediciones willis
hoy por hoy es evidente que la orientación objetos es el término más
corriente en diversos entornos con actividades comerciales
industriales
de servicios y académicos
a través de esta técnica se logra la optimización en tareas concernientes a
las fases de desarrollo de software como en el diseño
desarrollo y mantenimiento del software
esto ha permitido ofrecer soluciones con larga opción de usabilidad atacando
problemas concernientes a la denominada 'crisis del software lo anterior pensado
teniendo en cuenta la existencia de procesos imprescindibles hoy en día
como lo son la reutilización de código y su potabilidad
la programación orientada a objetos se basa en la idea natural de la existencia
de un mundo lleno de objetos y que la resolución del problema se realiza en
términos de objetos
un lenguaje se dice que está basado en objetos y soporta objetos como una
característica fundamental del mismo
quizá al hablar de objetos se nos venga a la cabeza el cuento de los objetos
voladores no identificados
aquí hablaremos de objetos pero no serán sólo voladores
y seguro serán siempre plenamente identificados
la programación orientada a objetos modela el mundo en términos de objetos
eventos y responsabilidades
existen objetos que contienen datos y métodos y eventos que activa
procedimientos
que pueden modificar el estado de los objetos
en los lenguajes orientados a objetos un programa es un apropiado encadenamiento
de mensajes entre distintos objetos previamente instancia los de las clases
a las que pertenecen
es un objeto
según el diccionario
un objeto es cualquier cosa que se ofrece a la vista ya afecta los sentidos
es así como podemos ver que el mundo real que nos rodea es un conjunto de
objetos
si miramos a nuestro alrededor podemos observar plantas
animales
personas
este chequera esto son objetos tangibles
existen otros que no son tangibles pero somos conscientes de que existen
por ejemplo un mes de la no
una hora de una cita un sentimiento una profesión etcétera lección 2
3
cada objeto tiene un conjunto de características podría juntos que lo
hacen diferente a los demás
por ejemplo una planta difiere notablemente de un animal y de un
edificio cada uno de ellos presentan características y comportamientos muy
diferentes
más aún aunque los objetos sean exactamente iguales son distintos entre
sí
por ejemplo dos carros recién salidos de la fábrica
que tienen la misma marca
el mismo modelo
la misma línea
las mismas características
son dos objetos distintos pues cada uno tiene una identificación diferente
aunque pertenecen a la misma clase
inicialmente podríamos decir que un objeto es algo que tiene atributos y
comportamientos propios
una planta es un ser viviente
vegetal que a primera vista está construido por horas
frutos
raíz etcétera además se respira por sus obras
se alimenta por su raíz elabora clorofila etcétera son algunas de las
características el comportamiento que podemos percibir superficialmente de una
planta
un diccionario es un libro especial que contiene un conjunto de palabras y
definiciones
también podemos encontrar en él gráficas
spy lustración es el set era y su utilidad la percibimos cuando
necesitamos consultar alguna palabra
leer su significado verificar su ortografía
pobre pronto investigar sobre algún tema específico
lección 3
op 5
podríamos hacer la representación de un objeto del mundo real
por ejemplo el amor la alegría
quizá no sea difícil en los objetos abstractos
pero de una u otra forma lograríamos hacerlo
desde el punto de vista computacional es posible representar lógicamente
cualquier objeto del mundo real
para una solución software un objeto es un elemento especial de información que
se construye a partir de una estructura de datos y una estructura funcional
la estructura funcional opera directamente sobre la estructura de
datos y ésta a su vez sólo puede ser manipulada por la estructura funcional
del mismo objeto en la programación estructurada la estructura de datos es
totalmente independiente de la parte funcional o procedimental es más
podríamos afirmar que lo único estructurado en la programación
estructurada son los procedimientos pero los datos están muy aislados la
programación orientada a objetos se acerca más al mundo real estructurando
en un mismo elemento de información datos y procedimientos
uu 6
pipo extracto de datos
en la terminología de organización de la información muchas veces se manejan
los términos de estructura de datos y tipo extracto de datos como una misma
cosa
sin embargo
para muchos autores
existe una diferencia entre los dos términos
aparece entonces un nuevo elemento de información que se denomina tipo
extracto de datos
un tipo extracto de datos contienen una estructura de datos propia y un conjunto
de operaciones o métodos autorizados para manipular la estructura de datos
para representar a un objeto recurrimos a un tipo extracto de datos
por ejemplo tomemos un objeto del mundo real cotidiano que nos rodea
imaginemos un objeto reloj
encontramos en él unas características a nivel de datos
estructuras de datos
y unas características de comportamiento
características funcionales
lección 4
up 7
características de datos por ejemplo ahora
minutos y segundos características funcionales
por ejemplo mostrar la hora
actualizar la hora y siendo más ambiciosos mostrar la hora en segundos
mostrar la hora y minutos o sumar y restar horas
representemos este objeto del mundo real como un tipo extracto de datos quedaría
de la siguiente forma
estructura de datos
minutos segundos estructura funcional leer hora
mostrar hora
mostrador en segundos
mostrar hora y minutos
sumar hora
prestadora
para representar el objeto anterior debemos considerar tres aspectos uno
cómo representar la estructura de datos
piden criticar las características del objeto a nivel de datos
minutos segundos
2 cómo representar su comportamiento
el benfica las operaciones o procesos a efectuar sobre los datos le hora
mostrar hora
mostrador en segundos
etcétera
3 cómo comunicarnos con el objeto
para comunicarnos con el objeto debemos enviarle un mensaje
lección 5
uu 9
es un mensaje
según el diccionario
un mensaje es un encargo de decidió llevar una cosa
más puntualmente
podemos definir un mensaje como el llamado que se hace a un objeto para que
ejecute una de sus operaciones para que el objeto funciones se le debe enviar un
mensaje adecuado
que sea identificado por el mismo objeto en el ejemplo del reloj podemos enviarle
un mensaje para que nos muestre la hora mensaje
mostrar hora
es un mensaje identificable por el objeto porque puede invocar una
operación propia del mismo mensaje
mostrar fecha
resulta desconocido para el objeto porque no existe ninguna operación
asociada a él
los objetos presión al mundo que lo rodea una puerta de entrada que es la
que permite determinar si el mensaje es adecuado o no
a esta puerta de entrada se le denomina interfaz de objeto
el mensaje llega la interfaz de objeto solicitando una operación y si éste se
ajusta a una forma de llamado conocida
el objeto a tuluá
upyd díez
beneficios del apolo
tomado de monografías puntocom
día a día los costos del jaguar d3m
así surgen nuevas áreas de aplicación cotidianamente
procesamiento de imágenes y sonido
un bases de datos multimediales automatización de oficinas
ambientes de ingeniería de software etcétera unen las aplicaciones
tradicionales encontramos que definir interferido hombre-máquina la
windows suele ser bastante conveniente
lamentablemente
los costos de producción de software siguen aumentando
el mantenimiento y la modificación de sistemas complejos suele ser una tarea
trabajosa
cada aplicación
aunque tenga aspecto similares a otra suele encararse como un proyecto nuevo
el set era
todos estos problemas aún no han sido solucionados en forma completa
pero como los objetos son potables
teóricamente mientras que la herencia permite la reutilización código
orientado a objetos
es más sencillo modificar código existente porque los objetos no
interaccionan exacto a través de mensajes
en consecuencia un cambio en la codificación de un objeto no afectará
la operación con otro objeto siempre que los métodos respectivos permanezcan
intactos
la introducción de tecnología de objetos como una herramienta conceptual
para analizar diseñar e implementar aplicaciones permite obtener
aplicaciones más modificables
fácilmente extensibles y a partir de componentes reusables
ésta rehusó habilidad del código disminuye el tiempo que se utiliza en el
desarrollo y hacer que el desarrollo del software sea más intuitivo porque la
gente piensa naturalmente en términos de objetos más que en términos de
algoritmos de software
problemas derivados de la utilización de hoop en la actualidad
tomado de monografías puntocom
un sistema orientado a objetos
por lo visto puede parecer un paraíso virtual
el problema sin embargo surge la implementación de tal sistema
muchas compañías oyen acerca de los beneficios de un sistema orientado a
objetos la invierten gran cantidad de recursos luego comienzan a darse cuenta
que han impuesto una nueva cultura es ajena a los programadores actuales
específicamente los siguientes temas suelen aparecer repetidamente
1 de noviembre de 2001
curvas de aprendizaje vargas
un sistema orientado a objetos ve al mundo en una forma única
involucra la conceptualización de todos los elementos de un programa
desde subsistemas a los datos
en la forma de objetos
toda la comunicación entre los objetos debe realizarse en la forma de mensajes
esta no es la forma en que están escritos los programas orientados a
objetos actualmente
al hacer la transición a un sistema orientado a objetos la mayoría de los
programadores deben capacitarse nuevamente antes de poder usarlo
1 de noviembre de 2002
dependencia del lenguaje
a pesar de la portabilidad conceptual de los objetos en un sistema orientado a
objetos
en la práctica existen muchas dependencias
muchos lenguajes orientados a objetos están compitiendo actualmente para
dominar el mercado
cambiar el lenguaje de implementación de un sistema orientado a objetos no es
una tarea sencilla por ejemplo se soporta el concepto de herencia
múltiple mientras que es matar no lo soporta
en consecuencia la elección de un lenguaje y en herramientas iones de
diseño muy importantes
1 de noviembre de 2003
determinación de las clases
uno clases un molde que se utiliza para crear nuevos objetos
en consecuencia es importante crear el conjunto de clases adecuado para un
proyecto
desafortunadamente la definición de las clases es más un arte que una ciencia
si bien hay muchas jerarquías de clase predefinidas usualmente se deben crear
clases específicas para la aplicación que se esté desarrollando
oo en seis meses o un año se da cuenta que las clases que se establecieron no
son posibles
en ese caso será necesario reestructurar la jerarquía de clases
devastando totalmente la planificación original
1 de noviembre de 2004
performans
en un sistema donde todo es un objeto y toda interacción es a través de
mensajes
el tráfico de mensajes afectada performans
a medida que la tecnología avanza y la velocidad de mito procesamiento
potencia y tamaño de la memoria aumentan
la situación mejorará
pero en la situación actual
un diseño de una aplicación orientada a objetos que no tiene en cuenta la
performance no será viable comercialmente
idealmente
habría una forma de atacar estos problemas eficientemente al mismo tiempo
que se obtienen los beneficios del desarrollo de una estrategia orientada a
objetos
debería existir una metodología fácil de aprender e independiente del lenguaje
y fácil de reestructurar que no viene la performance el sistema
capítulo 2
introducción y elementos básicos de programación orientada a objetos
lección 6
2 uu
introducción
actualmente una de las áreas más importantes en la industria y el ámbito
académico es la orientación objetos
la orientación objetos promete mejoras de amplio alcance en la forma de diseño
desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a
los problemas y preocupaciones que han existido desde el comienzo en el
desarrollo del software la falta de potabilidad del código y rehusó
habilidad
código que es difícil de modificar
ciclos de desarrollo largos y técnicas de codificación no entró y divas
un lenguaje orientado a objetos atacar estos problemas
tiene tres características básicas
debe estar basado en objetos basado en clases y capas de tener herencia de
clases muchos de los lenguajes pueden cumplir uno o dos de estos puntos
pero es muy difícil que se cumplan los tres
el inconveniente más complicado de diseñar es la vencida el concepto de
programación orientada a objetos
oro no es nuevo
lenguajes clásicos como es matar que se basan en ella
dado que la pongo
se basa en la idea natural de la existencia de un mundo lleno de objetos
y que la resolución del problema se realiza en términos de objetos
un lenguaje se dice que está basado en objetos y soporta como una
característica fundamental del mismo
el elemento fundamental de la poes como su nombre lo indica
el objeto
podemos definir un objeto como un conjunto complejo de datos y programas
que poseen una estructura y forman parte de una organización
esta definición específica varias propiedades importantes de los objetos
en primer lugar
un objeto no es un dato simple
sino que contiene en su interior cierto número de componentes bien
estructurados
en segundo lugar
cada objeto no es un ente aislado sino que forma parte de una organización
jerárquica o de otro tipo básicamente la pobre mide a los programadores
escribir software
de forma que esté organizado en la misma manera que el problema de trata de
modelar
los lenguajes de programación convencional y son poco más que una
lista de acciones a realizar sobre un conjunto de datos en una determinada
secuencia
si en algún punto del programa modificamos la estructura de los datos
hola acción realizada sobre ellos el programa cambia
2
2 porque poco
es una manera de pensar
otra manera de resolver un problema
lo más reciente en metodologías de desarrollo de software
es un proceso mental humano aterrizado en una computadora
antes se adecuaba al usuario al entendimiento de la computadora
actualmente
se le enseña a la computadora a entender el problema
la orientación objetos es un paradigma
es decir
es un modelo para aclarar algo para explicarlo la orientación objetos es el
paradigma que mejora el diseño desarrollo y mantenimiento del software
ofreciendo una solución a largo plazo a los problemas y preocupaciones que han
existido desde el comienzo del desarrollo del software
la falta de potabilidad del código
su reuso habilidad
la modificación
que antes era difícil de lograr sic los de desarrollo largo
técnicas de programación muy intuitivas
la orientación objetos está basada en los tres métodos de organización que
utilizamos desde la infancia
entre un objeto y sus atributos
automóvil marca
por número de llantas
etcétera
entre un objeto y sus componentes donde incluso otros objetos pueden formar
parte de otros objetos
agregación camión motor
parabrisas
llantas
entre un objeto y su relación con otros objetos
camión vehículos automotores
una bicicleta no entraría en esta relación
la metodología del software orientado a objetos consiste en
saber el espacio del problema
realizar una abstracción
crear los objetos
espacio de la solución
instancia los
esto es traerlos a la vida
dejarlos vivir ellos ya saben lo que tienen que hacer
las herramientas de programación orientadas a objetos ayudan a manejar la
complejidad
desarrollar software que sea fácil de utilizar a ser que sea muy compleja su
construcción
el diseño del nuevo software se enfoca complejas interfaith de usuarios
sistemas de manejo de ventanas
y programas multitarea están haciendo que el software sea cada vez más
complejo
las herramientas enfocadas a objetos facilitan la comprensión de esta
complejidad
la estructuración orientada a objetos reduce el número de conexiones entre
los componentes del sistema obligar a que los objetos se comuniquen a través
de una interfaz pública estrecha hace más fácil aislar los errores ocultos y
de terminar cuáles son los métodos responsables de los errores ocultos que
ocurran
los objetos mismos protege los datos privados de modificaciones no deseadas
la definición explícita de un protocolo de comunicación permite a
compiladores e intérpretes advertir a los usuarios acerca de los accesos
ilegales e incluso impedir la modificación no deseada de los
componentes del sistema
una de las mayores ventajas de una estructura orientada a objetos es el
mapeo directo de los objetos en el dominio del problema los objetos en el
programa
este mateo directo es una consecuencia de tener una estructura basada en
objetos
si la programación se considera una simulación
resulta mucho más fácil seleccionar objetos de un mundo simulado que
desarrollar una solución de programación basada completamente
procedimientos y acciones la orientación objeto surgió de la
necesidad de simular sistemas de forma sencilla
no sólo de información
sino de cualquier otro tipo sin importar el modo de implantación
2
3 que es la pongo
la programación orientada a objetos
pogo según siglas en inglés
es una metodología de diseño de software erp y un paradigma de
programación que define los programas en términos de clases de objetos
objetos que son entidades que combinan estado
es decir
datos
y comportamiento esto es
procedimientos o métodos
la programación orientada a objetos expresa un programa como un conjunto de
estos objetos
que se comunican entre ellos para realizar tareas
esto difiere de los lenguajes procedimentales tradicionales
en los que los datos y los procedimientos están separados y sin
relación
estos métodos están pensados para ser los programas en módulos más fáciles
de escribir
mantener y reutilizar
otra manera en que esto es expresado a menudo
es que la programación orientada a objetos animal programador a pensar en
los programas principalmente en términos de tipos de datos
y en segundo lugar en las operaciones
métodos
específicas a esos tipos de datos
los lenguajes procedimentales animan al programador a pensar sobre todo en
términos de procedimientos
y en segundo lugar en los datos que esos procedimientos manejan
los programadores que emplean lenguajes procedimentales
escribe en funciones y después les pasan datos
los programadores que emplean lenguajes orientados a objetos definen objetos con
datos y métodos y después envían mensajes a los objetos diciendo me
realicen esos métodos en sí mismos
algunas personas también diferencian la positiva haces
la cual es llamada veces programación basada en objetos hay un cierto
desacuerdo sobre exactamente qué características de un método de
programación o lenguaje le califican como orientado a objetos
terminó de programación orientada a objetos indica más una forma de diseño
hay una metodología de desarrollo de software que un lenguaje de
programación ya que en realidad se puede aplicar el diseño orientado a
objetos en inglés abreviado
poquet oriente de esa
a cualquier tipo de lenguaje de programación el desarrollo de la
poetisa al destacar durante la década del 80 tomando en cuenta la
programación estructurada
alak en toba y dotando al programador de nuevos elementos para el análisis y
desarrollo de software
se puede definir como como una técnica o estilo de programación que utiliza
objetos como bloque esencial de construcción
los objetos son en realidad como los tipos abstractos de datos
untar es un tipo definido por el programador junto con un conjunto de
operaciones que se pueden realizar sobre ellos
se denominan abstractos para diferenciarlos de los tipos de datos
fundamentales o básicos
lección 7 2
4 ventajas de coco
la otra porción a las siguientes ventajas sobre otros lenguajes de
programación uniformidad
ya que la representación de los objetos lleva implica tanto el análisis como el
diseño y la codificación de los mismos
comprensión
tanto los datos que componen los objetos
como los procedimientos que los manipulan
están agrupados en clases
que se corresponden con las estructuras de información que el programa trata
flexibilidad
al tener relacionados los procedimientos que manipulan los datos con los datos a
tratar
cualquier cambio que se realice sobre ellos quedará reflejado
automáticamente en cualquier lugar donde estos datos aparezcan
estabilidad
dado que permite un tratamiento diferenciado de aquellos objetos que
permanecen constantes en el tiempo sobre aquellos que cambian con frecuencia
permite aislar las partes del programa que permanecen inalterables en el tiempo
rehúsa vidal
la noción de objeto permite que programas que traten las mismas
estructuras de información reutilizar las definiciones de objetos empleadas en
otros programas pedir incluso los procedimientos que los manipulan
de esta forma
el desarrollo de un programa puede llegar a ser una simple combinación de
objetos ya definidos donde éstos están relacionados de una manera particular
reutilización
las clases se construyen a partir de otras clases sistemas más fiables
proceso de desarrollo apropiado
desarrollo más flexible
modelos que reflejan mejor la realidad mejor independencia e interoperatividad
de la tecnología
mejor informática distribuida en cliente servidor
bibliotecas de clases comerciales disponibles
mejores relaciones con los clientes
mejor calidad del producto de software terminado
lección 8 2
5
desventajas de la tecnología orientada a objetos
a pesar de que las ventajas de la programación orientada a objetos
superan a las limitaciones de la misma
podemos encontrar algunas características no deseables en ésta
limitaciones para el programador
no obstante que la tecnología orientada a objetos no es nueva
un gran porcentaje de programadores no están familiarizados con los conceptos
de dicha tecnología
en otras palabras
la lógica de la programación estructurada sigue siendo predominante
en la mayoría de los desarrolladores de software después de haber revisado de
forma breve los principios de la programación orientada a objetos
nos es claro que en ésta se requiere una lógica de pensamiento totalmente
diferente a la lógica comúnmente utilizada para la programación
estructurada
tamaño excesivo en las aplicaciones resultantes
la gran mayoría de los equipos de cómputo cuentan con capacidades tanto
de almacenamiento como de memoria lo suficientemente buena como para ejecutar
la mayoría de las aplicaciones que puedan desarrollarse con la tecnología
orientada a objetos
sin embargo existen casos en los que lo anterior no se cumple
una de las desventajas de la programación orientada a objetos es que
cuando se heredan clases a partir de clases existente excedan de forma
implícita todos los miembros de dicha clase aún cuando no todos se necesiten
lo que produce aplicaciones muy grandes que no siempre encajan en los sistemas
con los que se disponga
velocidad de ejecución
esto tiene que ver
en cierto modo
con el punto anterior
una aplicación y necesariamente pesará en muchas ocasiones es más lenta de
ejecutar que una aplicación conformada únicamente por los módulos necesarios
lección 9
2
6 evolución de la programación
oro programación orientada a objetos
es un importante conjunto de técnicas que se pueden utilizar para hacer el
desarrollo de programas más eficientes mientras se mejora la facilidad de los
programas resultantes
en esencia hoy es un nuevo medio de enfocar el trabajo de programación
sin embargo
a fin de comprender lo que es la pongo
es necesario comprender sus raíces
así pues
comenzaremos por examinar la historia del proceso de programación analizará
cómo evolución por edu siendo
en consecuencia
por qué es tan importante este concepto
2 de junio de 2001
programación lineal
los lenguajes de programación lineal
le dice
coli fortran no tenían facilidad para reutilizar el código existente de
programas de hecho se duplicaban segmentos de software cada vez más en
muchos programas
los programas se ejecutaban en secuencias lógicas
haciendo la lógica difícil de comprender el control del programa será
difícil y se producían continuos saltos a lo largo del referido programa
aún más
los lenguajes lineales no tenían capacidad de controlar la visibilidad de
los elementos llamados datos
2 de junio de 2002
programación modular
el soporte más elemental de la programación modular llegó con la
aparición de la subida
una su proteína ha creado una secuencia de instrucciones a las que se les da un
hombre independiente
una vez que se ha definido
hola su proteína se puede ejecutar simplemente incluyendo el nombre del
programa siempre que se requiera
plazo propinas proporcionan una división natural de las tareas
diferentes programas utilizan
aunque la psu proteínas proporcionan el mecanismo básico de la programación
modular
se necesita mucha disciplina para crear software bien estructurado
sin esta disciplina
es fácil escribir programas compilados y tortuosos difíciles de modificar y
comprender
así como imposible de mantener
esta ha sido la panorámica durante muchos años en el desarrollo del
software
2 de junio de 2003
programación estructurada
un concepto importante en campo de la programación estructurada abstracción
ya que la abstracción se puede definir como la capacidad de examinar algo sin
preocuparse de los detalles internos
en un programa estructurado
es suficiente conocer que un procedimiento sea fiable para que se
pueda utilizar sin tener que conocer cómo funciona su interior
esto se conoce como una abstracción funcional y es el núcleo de la
programación estructurada
hoy casi todos los lenguajes de programación tienen construcciones que
facilitan la programación estructurada
lección díez
2
7
comparación entre la programación orientada a objetos y la programación
estructurada
2 de julio de 2001
paradigma estructurado
la programación estructurada fija su atención en el conjunto de acciones que
manipulan el flujo de datos
mientras que la pose fija en la interrelación que existe entre los
datos y las acciones a realizar con ellos
descomposición funcional
el sistema es considerado una unidad funcional que se disgregan procesos el
resultado del proceso de abstracción para la solución de un problema macro
lo constituyen pequeño su programas
un problema macro se subdivide en unidades más pequeñas llamadas
procesos
estos se pueden distribuir entre diferentes personas que se vean
involucradas en la solución de un problema y así afectó a los
desarrollos de software de una manera más rápida y eficiente
figura 1
1 programación estructurada los procesos son la parte central de este
modelo pues a partir de esto se manejan las variantes
datos
que solucionarán el problema
generalmente se manejan muchos procesos lo cual hace largos códigos el
mantenimiento de los desarrollos deben efectuarse minuciosamente los
procedimientos empleados en una aplicación pueden reutilizarse teniendo
cuidado en el manejo de los datos las operaciones se ajustan a las
características propias de los lenguajes procedimentales los procesos
que se modelan en el desarrollo de un problema plasman las operaciones
necesarias para resolverlo
ver imagen figura 1
1 programación estructurada
página 24
los procesos son la parte central de este modelo pues a partir de esto se
manejan las variantes
datos
que solucionarán el problema
generalmente se manejan muchos procesos lo cual hace largos códigos el
mantenimiento de los desarrollos deben efectuarse minuciosamente los
procedimientos empleados en una aplicación pueden reutilizarse teniendo
cuidado en el manejo de los datos las operaciones se ajustan a las
características propias de los lenguajes procedimentales los procesos
que se modelan en el desarrollo de un problema plasman las operaciones
necesarias para resolverlo
ver figura 1
2 proceso de desarrollo de un problema
página 24 y 25
2 de julio de 2002 paradigma orientado a objetos
descomposición en objetos
el sistema es considerado un objeto conjunto de objetos los cuales son el
resultado del proceso de abstracción para la solución del problema macro
dado que un problema macro puede ser dividido en objetos
estos pueden ser tratados por diferentes personas que luego lo integrarán para
dar la solución final
river figura 1 3 paradigma de orientado a objetos
página 25 los datos
estados
son la parte central del modelo y los métodos de los modifican muestran el
comportamiento del objeto
el mantenimiento de programas y aplicaciones generalmente son fáciles
de realizar
los objetos que se modelan en el desarrollo de un sistema se ajustan a la
realidad que representa el problema
éste puede representar e como un objeto conjunto de objetos abstractos el modelo
orientado a objetos no es una técnica de programación sino un medio de
plasmar el mundo real
de figura
o cuatro objeto punto página 26
2
7
2
1 ventajas del modelo orientado a objetos con respecto al modelo
estructurado
un modelo de objetos es más cercano a la realidad que un modelo funcional
un desarrollo realizado con el modelo orientado a objetos es más fácil de
mantener y de reutilizar el modelo orientado a objetos evita la redundancia
en los procesos luego los códigos son más entendibles y resumidos
la integridad que dan los objetos a los datos erika ambigüedades en su uso
dando mayor seguridad de los resultados
el modelo orientado a objetos facilita la integridad de módulos que hayan sido
realizados por separado sin correr riesgos en el manejo de los datos
autoevaluación
2
8 actividades complementarias
pateé 1
investigue la diferencia entre la polla programación estructurada
2
que es la pongo
y cuáles son sus ventajas
3
es una clase que es un objeto
4
explique cuál es la estructura de un objeto
5
realicé un ejemplo de manera gráfica en donde se identifiquen los elementos
de una clase y un objeto
6
recapituló 9 día de laboratorios para desarrollar en los laboratorios del pse
a los eres respectivos
parte 2
realizar los ejércitos complementarios de laboratorios de la guía de
laboratorios y consultar bibliografía de libros virtual de la unad y otros
autores uno
belt evidente la introducción dos con un out y los patrones de diseño jdbc pm
se hable más jsp teen editorial pearson prentice cort inter y sión
david arnaud peral due y sin producción a la programación con de abate m
actualización a la versión 2d llama editorial addison wesley 3
el cese de javier zeballos grabados curso de programación dos ediciones
litorial alfa-omega rama 4
agustín pro botella ávalos mano al usuario tutorial tres ediciones vitoria
lanzado me derrama 5
everts y fundamentos de programación llamados editorial mc graw hill
para conocer el lenguaje de programación ya vaya qué están
resueltos sólo los puede digitar compilar y ejecutar en la casa o
laboratorio de su correspondiente sea los héroes
lección 11
capítulo 3
propiedades básicas de la programación orientada a objetos
la programación orientada a objetos ha tomado las mejores ideas de la
programación estructurada y los ha combinado con varios conceptos nuevos y
potentes que incitan a contemplar las tareas de programación desde un nuevo
punto de vista la programación orientada a objetos permite descomponer
más fácilmente un problema en sus grupos de partes relacionadas del
problema
entonces
utilizando el lenguaje se pueden traducir estos subgrupos a unidades
autocontenidas llamadas objetos el término programación orientada a
objetos
oo hoy en día ampliamente utilizado
es difícil de definir
ya que no es un concepto nuevo
o sino que ha sido el desarrollo de técnicas de programación desde
principios de la década de los 70
aunque sea en la década de los 90 cuando ha aumentado su difusión
uso y popularidad no obstante
se puede definir pocomo una técnica o estilo de programación que utiliza
objetos como bloque esencial de construcción
un objeto es una unidad que contiene datos y las funciones que operan sobre
sus datos
a los elementos de un objeto se les conoce como miembros las funciones que
operan sobre los objetos se denominan métodos y los datos se denominan
miembros datos
lección 12
1 abstracción
cada objeto en el sistema sirve como modelo de un agente abstracto que pueda
realizar trabajo
informar y cambiar su estado
y comunicarse con otros objetos en el sistema sin revelar cómo se implementan
estas características
los procesos
las funciones o los métodos pueden también serán extraídos y cuando los
están una variedad de técnicas son requeridas para ampliar una abstracción
la abstracción es una especificación del sistema que enfatiza sobre algunos
de los detalles poco piedades del mismo mientras suprimía otros
una buena astra que sigan es aquella que enfatiza sobre detalles significativos
al lector y al usuario y suprime detalles que son al menos por el momento
irrelevantes o que causan distracción existen cuatro tipos de abstracciones
la primera es la abstracción de entidades
este tipo de abstracción representa una entidad ya sea del dominio del problema
del dominio de la solución
el segundo tipo de abstracciones la abstracción de acciones
es la abstracción de comportamiento
estas extracciones proporciona un conjunto especializado de operaciones y
todas ellas desempeñan funciones del mismo tipo el tercer tipo de
abstracciones el de máquinas virtuales
este tipo de abstracción agrupa operaciones virtuales utilizadas por un
nivel superior de control moderación es que utilicen un conjunto de operaciones
de nivel inferior
por ejemplo
una abstracción que utilice el código xml no la aplicación se ejecute en
latinoamérica
aunque dice el código y cuando se ejecuta y norteamérica
el último tipo de abstracciones el eco incidencia
que almacena un conjunto de operaciones que no tienen relación entre sí
esto es
tom actividades que aparentemente no tienen una relación como las clases
hombre con métodos como con él
a es certera las clases transporte aéreo
a y que veamos una subclase de hombre llamada súper hombre que come
esto se logra tomando comportamientos que no tienen que ver entre sí y no se
atribuyan a la herencia sino a la interfaz padre interfax
/ invertido /
ver imagen
página 29 por definición una interfaz es abstracta
por lo tanto no tiene un comportamiento
sólo la declaración de éste lección 13
3
2 encapsulación
también llamada ocultación de la información
esto asegura que los objetos no pueden cambiar el estado interno de otros
objetos de maneras inesperadas
solamente los propios métodos internos del objeto pueden acceder a su estado
ver figura 2 uu
página 30
cada tipo de objeto expone una interfaz a otros objetos que especifica como
otros objetos pueden interactuar con él
algunos lenguajes resaltan esto permitiendo un acceso directo a los
datos internos del objeto de una manera controlada limitando el grado de
abstracción
la encapsulación protege los atributos que conforman al objeto
y permite o niega información al público
con el encapsulamiento
se consigue ocultar información y ocultar todos los secretos de un objeto
que no contribuyen a sus características esenciales
típicamente la estructura de un objeto se encuentra oculta y la implantación
de sus métodos es visible para el caso del termómetro tal vez sólo se
requieren tres métodos
activarlo
desactivarlo y pedirle la temperatura
un objeto es la abstracción de algo que forma parte del dominio del problema
reflejando las posibilidades de un sistema para mantener la información
sobre él
representa una entidad real o abstracta con un papel bien definido dentro de
nuestro mundo y con dos características que son sus atributos y su
comportamiento
ejemplos de objetos pueden ser un celular la
a computadora
oo etcétera
los objetos se componen de atributos ovario hables que aclaran el estado del
objeto
los atributos de un objeto bicicleta
podrían ser el número de llantas que tiene estado 2
el número de marchas
estado cuatro si es de velocidades número de asientos
estado uno velocidad instantánea para alterar el estado de un objeto se
necesita invocar un método
este método es algo que el objeto sabe y por lo tanto define su comportamiento
la encapsulación es una técnica que permite localizar y ocultar los detalles
de un objeto
la encapsulación previene que un objeto se ha manipulado por operaciones
distintas de las definidas
la encapsulación es como una caja negra que esconde los datos y solamente
permite acceder a ellos de forma controlada
las principales razones técnicas para la utilización del encapsulación son
mantener a salvo los detalles de representación
si solamente nos interesa el comportamiento del objeto
2
modificar y ajustar la representación a mejores soluciones algorítmicas doha
nuevas tecnologías de software
lección 14
3
3 modularidad
proceso de crear partes de un todo que se integran perfectamente entre sí para
que funcionen por un objetivo general
y a las cuales se les pueden agregar más componentes que se acoplen
perfectamente al todo o es traerle componente sin afectar su funcionamiento
en el caso que se requiera actualizar un módulo no hay necesidad de hacer
cambios en otras partes del todo
un ejemplo clásico es un conjunto de módulos que
al integrar los conforman un armario el cual puede agregarle más funcionalidad
si se le agregan más módulos
o al contrario
también se puede cambiar su finalidad si se acomodan esos módulos para darle
otro objetivo
volverlo una mesa
esto ayuda a la descomposición de problemas en su problemas
es decir
a la solución de problemas por composición de soluciones a sus
problemas modularidad es el atributo del software que permite a un programa ser
manejable intelectualmente
jeremías
la arquitectura del software implica la dimisión de éste en componentes
identificables y tratables por separado
denominados módulos
que están integrados para satisfacer los requisitos del programa un software
monolítico no puede ser entendido fácilmente por un solo usuario
el número de caminos de control
ámbito de referencia
número de variables y la complejidad global harían su comprensión casi
imposible
para ver la importancia de la modularidad
considérense los siguientes argumentos basados en observaciones llevadas a cabo
se hace
una función que define la complejidad percibida de un problema x i
una función que define al esfuerzo en tiempo
requerido para solucionar el problema x
para los problemas de uno y t2
de reestructura el módulo
a pajín a 32
es más fácil resolver un problema complejo cuando se rompen piezas
manejables
lección 14
3
4 jerarquía
la mayoría de las personas de de manera natural nuestro mundo como objetos que
se relacionan entre sí de una manera jerárquica
por ejemplo
un perro es un mamífero y los mamíferos son animales
y los animales seres vivos
del mismo modo
las distintas clases de un programa se organiza mediante la jerarquía
la representación de dicha organización da lugar a los denominados
árboles de herencia
ver figura 2
2
ejemplo de arbolé vencida
a pajín a 32
mediante la herencia una clase hija puede tomar determinadas propiedades de
una clase padre
así se simplifican los diseños y se evita la duplicación de código al no
tener que volver a codificar métodos ya implementados
al acto de tomar propiedades de una clase padre se denomina de dar
lección 5
3
5 polimorfismo
las referencias y las colecciones de objetos pueden contener objetos de
diferentes tipos
y la invocación de un comportamiento en una referencia producirá el
comportamiento correcto para el tipo real del referente
cuando esto ocurre en tiempo de ejecución esta última característica
se llama asignación ***ía o asignación dinámica
algunos lenguajes proporcionan medios más estáticos
en tiempo de compilar sión de polimorfismo
tales como las plantillas y la sobrecarga de operadores de c
en programación orientada a objetos se denomina polimorfismo la capacidad del
código de un programa para ser utilizado con diferentes tipos de datos
u objetos
también se puede aplicar a la propiedad que poseen algunas operaciones de tener
un comportamiento diferente dependiendo del objeto por tipo de dato
sobre el que se aplican
el concepto de polimorfismo se puede aplicar tanto a funciones como tipos de
datos
así nacen los conceptos de funciones polimórficas y tipos polimórficos
las primeras son aquellas funciones que pueden evaluarse ibarra o ser aplicadas
a diferentes tipos de datos de forma indistinta
los tipos polimórficos
por su parte
son aquellos tipos de datos que contiene al menos un elemento cuyo tipo no está
especificado
se puede clasificar el polimorfismo en dos grandes clases
polimorfismo dinámico
populismo el fis moto es aquel en el que el código no incluye ningún tipo de
especificación sobre el tipo de datos sobre el que se trabaja
i puede ser utilizado a todo tipo de datos compatible polimorfismo estático
o polimorfismos paramétrico
es aquel en el que los tipos a los que se aplica el polimorfismo deben ser
explicitados y declarados uno por uno antes de poder ser utilizados
el polimorfismo dinámico unido a la herencia es lo que en ocasiones se
conoce como programación genérica
3
6 herencia
organiza y facilita el polimorfismo y la encapsulación permitiendo a los objetos
ser definidos y creados como tipos especializados de objetos preexistentes
éstos pueden compartir
y extender
su comportamiento sin tener que reimplantar su comportamiento
esto suele hacerse habitualmente agrupando los objetos en clases y las
clases en árboles o enrejados que reflejan un comportamiento común
la herencia es uno de los mecanismos de la programación orientada a objetos
por medio de la cual una clase se deriva de obra de manera que extiende su
funcionalidad
una de sus funciones más importantes es la de proveer polimorfismo
la herencia en la pobre ni idea una clase heredar las propiedades de una
clase de objetos
donde la clase padre sirve como patrona la clase derivada
si un objeto hereda sus atributos de un único padre
esto recibe el nombre de herencia simple
y si hereda atributos de múltiples padres es herencia múltiple la ventaja
de la herencia es permitir la reutilización de código
para realizar herencia se debe tener en cuenta dos aspectos importantes
la clase basa y la clase derivada donde la clase base define todas las
cualidades que serán heredadas por cualquier clase la clase de ribadedeva
las características generales y añadía esta de su propia clase
utilizando la herencia
un objeto sólo necesita definir aquellas cualidades que lo hacen único
dentro de una clase
este objeto puede heredar sus atributos generales de su padre
por lo tanto la herencia es el mecanismo que le permite a un objeto ser una
instancia específica de un caso más general analicemos el proceso de un
animal
por ejemplo al hacer una descripción de los animales de forma abstracta
se puede decir que estos tiene atributos tales como
oo inteligencia
y el tipo de esqueleto
los animales tienen diferentes clase de comportamiento ésta puede ser una
definición de la clase de los animales
la herencia interactúa con el encapsulado
si una clase dado en cápsula algunos atributos
entonces la cualquier clase tendrá los mismos atributos
ver figura 2
3 herencia
a pajín a 35
3 de junio de 2000 un tipos de herencia
herencia sencilla
un objeto puede extender las características de otro objeto de
ningún otro
es decir
sólo puede tener un padre
herencia múltiple
un objeto puede extender las características de uno o más objetos
es decir
puede tener varios padres
en este aspecto hay discrepancias entre los diseñadores de lenguajes
algunos de ellos han preferido no emitir la herencia múltiple por las posibles
considere si ese nombres de métodos o datos miembros
por ejemplo se admite herencia múltiple
ya vallada sólo herencia simple
si una clase cualquiera tiene más de un ancestro directo en la jerarquía de
clases
se considera que existe venció múltiple
en términos concretos
una instancia de objeto de la clase hija
poseerá todos los atributos y métodos de sus clases ancestro
autoevaluación 3
7 actividades complementarias
parte 1
de acuerdo con el concepto de abstracción ni de su casa o apartamento
y diga cuál es la función de cada una de las partes
2
cuál es la función de los descriptores private
pavlik y protected
3
realizó un mapa conceptual con 15 términos del tema de modularidad
4 cuál es la función principal de la jerarquía el apoyo
5
cuál es la relación que existe entre jerarquía y polimorfismo
6
mediante un ejemplo explica el concepto de herencia 7
realizó un árbol teniendo en cuanta las clases y sus clases y lo que heredan
de cada uno de las clases padres parte 2
realizar los ejércitos complementarios de laboratorios de la guía de
laboratorios y consultar bibliografía de libros virtual de la unad y otros
autores uno
del t evidente la introducción dos con un out y los patrones de diseño jdbc pm
ser letras
jsp teen editorial pearson prentice joaquín tradición
2
dávila mosquera luis introducción a la programación con debate en la
actualización a la versión 2d ya la editorial al y somos líderes
el cese de javier zeballos llamados curso de programación dos ediciones
victorial alfa-omega rama 4
agustín pro botella ávalos mano al usuario que otorgue al 3 edición
editorial alfa omega rama 5
everts y fundamentos de programación llamados editorial mc graw hill
para conocer el lenguaje de programación ya vaya qué están
resueltos sólo los puede digitar compilar y ejecutar en la casa o
laboratorio de su correspondiente sea los héroes