Está en la página 1de 13

TRABAJO COLABORATIVO N 1

SANDRA PATRICIA RIOS RIVERA


COD. 1055273047
GRUPO: 301403_64

PROGRAMACION ORIENTADA A OBJETOS

UNAD
DUITAMA
2014

1. Investigue la diferencia entre la POO y la Programacin estructurada?


2. Que es la POO? Y cuales son sus ventajas?
3. Que es una clase y Que es un objeto?
4. Explique cul es la estructura de un objeto?
5. Realice un ejemplo de manera grfica en donde se identifiquen los elementos
de una clase y un objeto.

SOLUCION

1. Investigue la diferencia entre la POO y la Programacin estructurada?


Las principales diferencias entre la programacin estructurada y la orientada a
objetos
son:
La programacin orientada a objetos es ms moderna, es una evolucin de la
programacin estructurada que plasma en el diseo de una familia de lenguajes
conceptos
que
existan
previamente
con
algunos
nuevos.
La programacin orientada a objetos se basa en lenguajes que soportan
sintctica y semnticamente la unin entre los tipos abstractos de datos y sus
operaciones
(a
esta
unin
se
la
suele
llamar
clase).
La programacin orientada a objetos incorpora en su entorno de ejecucin
mecanismos tales como el polimorfismo y el envo de mensajes entre objetos.
Errneamente se le adjudica a la programacin estructurada clsica ciertos
problemas como si fueran inherentes a la misma. Esos problemas fueron
hacindose cada vez ms graves y antes de la programacin orientada a objetos
diversos autores (de los que podemos destacar a Yourdon) encontraron soluciones
basadas en aplicar estrictas metodologas de trabajo. De esa poca son los
conceptos de cohesin y acoplamiento. De esos problemas se destacan los
siguientes:
Modelo mental anmalo. Nuestra imagen del mundo se apoya en los seres, a los
que asignamos nombres sustantivos, mientras la programacin clsica se basa en
el
comportamiento,
representado
usualmente
por
verbos.
Es difcil modificar y extender los programas, pues suele haber datos
compartidos por varios subprogramas, que introducen interacciones ocultas entre
ellos.

Es difcil mantener los programas. Casi todos los sistemas informticos grandes
tienen errores ocultos, que no surgen a la luz hasta despus de muchas horas de
funcionamiento.
Es difcil reutilizar los programas. Es prcticamente imposible aprovechar en una
aplicacin nueva las subrutinas que se disearon para otra.
Es compleja la coordinacin y organizacin entre programadores para la creacin
de
aplicaciones
de
media
y
gran
envergadura.
En la programacin orientada a objetos pura no deben utilizarse llamadas de
subrutinas,
nicamente
mensajes.
Por ello, a veces recibe el nombre de programacin sin CALL, igual que la
programacin estructurada se llama tambin programacin sin GOTO.
Sin embargo, no todos los lenguajes orientados a objetos prohben la instruccin
CALL (o su equivalente), permitiendo realizar programacin hbrida, imperativa y
orientada a objetos a la vez.

2. Que es la POO? Y cules son sus ventajas?

La Programacin Orientada a Objetos (POO OOP segn siglas en ingls) es una


metodologa de diseo de software y un paradigma de programacin que define
los programas en trminos de "clases de objetos", objetos que son entidades que
combinan estado (es decir, datos) y comportamiento (esto es, procedimientos o
mtodos). La programacin 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 estn separados y sin relacin. Estos mtodos estn pensados
para hacer los programas y mdulos ms fciles de escribir, mantener y reutilizar.
Otra manera en que esto es expresado a menudo, es que la programacin
orientada a objetos anima al programador a pensar en los programas
principalmente en trminos de tipos de datos, y en segundo lugar en las
operaciones ("mtodos") especficas a esos tipos de datos. Los lenguajes
procedimentales animan al programador a pensar sobre todo en trminos de

procedimientos, y en segundo lugar en los datos que esos procedimientos


manejan.
Los programadores que emplean lenguajes procedimentales, escriben funciones y
despus les pasan datos. Los programadores que emplean lenguajes orientados a
objetos definen objetos con datos y mtodos y despus envan mensajes a los
objetos diciendo que realicen esos mtodos en s mismos.
Algunas personas tambin diferencian la POO sin clases, la cual es llamada a
veces programacin basada en objetos.
Hay un cierto desacuerdo sobre exactamente qu caractersticas de un mtodo de
programacin o lenguaje le califican como "orientado a objetos", Trmino de
Programacin Orientada a Objetos indica ms una forma de diseo y una
metodologa de desarrollo de software que un lenguaje de programacin, ya que
en realidad se puede aplicar el Diseo Orientado a Objetos (En ingls abreviado
OOD, Object Oriented Design), a cualquier tipo de lenguaje de programacin.
El desarrollo de la POO empieza a destacar durante la dcada de lo 80 tomando
en cuenta la programacin estructurada, a la que engloba y dotando al
programador de nuevos elementos para el anlisis y desarrollo de software.
Se puede definir POO como una tcnica o estilo de programacin que utiliza
objetos como bloque esencial de construccin. Oriented Design), a cualquier tipo
de lenguaje de programacin.
Los objetos son en realidad como los tipos abstractos de datos. Un TAD 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 bsicos.
Ventajas de POO
La OOP proporciona las siguientes ventajas sobre otros lenguajes de
programacin
Uniformidad. Ya que la representacin de los objetos lleva implica tanto el anlisis
como el diseo y la codificacin de los mismos.
Comprensin. Tanto los datos que componen los objetos, como los
procedimientos que los manipulan, estn agrupados en clases, que se
corresponden con las estructuras de informacin 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 automticamente 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.
Reusabilidad. La nocin de objeto permite que programas que traten las mismas
estructuras de informacin reutilicen las definiciones de objetos empleadas en
otros programas e incluso los procedimientos que los manipulan. De esta forma, el
desarrollo de un programa puede llegar a ser una simple combinacin de objetos
ya definidos donde estos estn relacionados de una manera particular.

Reutilizacin. Las clases se construyen a partir de otras clases.


Sistemas ms fiables.
Proceso de desarrollo apropiado.
Desarrollo ms flexible.
Modelos que reflejan mejor la realidad.
Mejor independencia e interoperatividad de la tecnologa.
Mejor informtica distribuida en cliente servidor.
Bibliotecas de clases comerciales disponibles.
Mejores relaciones con los clientes.
Mejor calidad del producto de software terminado.

Que es una clase y Que es un objeto?


Concepto de Clase
Una clase es una agrupacin de datos (variables o campos) y de funciones
(mtodos) que operan sobre esos datos. La definicin de una clase se realiza en
la siguiente forma:
[public] class Class name
{
// Definicin de variables y mtodos...
}
Donde la palabra public es opcional: si no se pone, la clase tiene la visibilidad por
defecto, esto es, slo es visible para las dems clases del paquete. Todos los
mtodos y variables deben ser definidos dentro del bloque {...} de la clase.

Que es un objeto?
Un objeto (en ingls, instance) es un ejemplar concreto de una clase. Las clases
son como tipos de variables, mientras que los objetos son como variables
concretas de un tipo determinado.
Classname unObjeto;
ClassnameotroObjeto;
SEGUNDO TALLER

1. De acuerdo con el concepto de abstraccin mire su casa o apartamento y diga


cul es la funcin de cada una de las partes.
2. Cul es la funcin de los descriptores private, public y protected.
3. Realiza un mapa conceptual con 15 trminos del tema de modularidad.
4. Cul es la funcin principal de la jerarqua en la POO.
5. Cul es la relacin que existe entre jerarqua y polimorfismo?
6. Mediante un ejemplo explique el concepto de herencia
7. Realiza un rbol teniendo en cuenta las clases y subclases y lo que heredan de
cada uno de las clases padres.

1. De acuerdo con el concepto de abstraccin mire su casa o apartamento y


diga cul es la funcin de cada una de las partes.
El elemento esencial de la programacin orientada a objetos en java es la abstraccin.
Nosotros normalmente miramos la complejidad a travs de la abstraccin. Por
ejemplo como se puede observar en la figura vemos un conjunto de miles de partes
individuales. Donde es un objeto bien definido con un comportamiento propio nico.
Una forma poderosa de gestionar la abstraccin es utilizando clasificaciones
jerrquicas; esto nos permite dividir en niveles la semntica de los sistemas
complejos, obteniendo sistemas ms manejables. Por ejemplo el paisaje desde el

exterior es un sistema sencillo a simple vista pero una vez dentro, podemos ver que
este sistema est compuesto por varios subsistemas: el clima, la vegetacin, los
animales, el medio ambiente etc.

Cada parte de la casa cumple con una funcin especfica y hace parte de una
clase o subclase segn su ubicacin por ejemplo:

La casa est compuesta por las alcobas y a su vez las alcobas estn compuestas
por otros elementos que hace parte ella y cumplen con sus funciones; tambin
est compuesta por la cocina, el bao, un comedor, una sala, etc. Y estos a su vez
estn compuestos por diferentes elementos que forman parte de cada uno de
ellos.

2. Cul es la funcin de los descriptores private, public y protected?

En ciertos lenguajes, se puede definir qu variables de instancia y mtodos de los


objetos de una clase son visibles. En C++ y java esto se consigue con las
especificaciones private, protected y public. Slo las variables y mtodos definidos
como pblicos en un objeto sern visibles por todos los objetos.
Dependiendo del lenguaje que se utilice, tambin se puede controlar qu
miembros de las superclases son visibles en las subclases. En el caso de java y
C++ los especificadores de acceso (private, protected, public) de los miembros de
la superclase afectan tambin a la herencia:
Private: ningn miembro privado de la superclase es visible en la subclase.
Protected: los miembros protegidos de la superclase son visibles en la subclase,
pero no visibles para el exterior.
Public: los miembros pblicos de la superclase siguen siendo pblicos en la
subclase.
Public:
Una variable/funcin pblica puede ser accedida desde fuera de la clase. Es decir,
puedo acceder desde la instancia de la clase y no slo desde el cdigo interno de
la clase. Ejemplo de funciones pblicas son los mtodos de una clase. Tambin es
posible crear variables pblicas, para que puedan ser manejadas desde la
instancia, pero no es algo comn o recomendable, entre otras cosas porque deja

un hueco de seguridad en la clase, acabando con la idea de la encapsulacin.


Para declarar una variable/funcin como pblica, se le antepone la palabra clave
public.
public: Los miembros declarados public son accesibles en cualquier lugar en
que sea accesible la clase, y son heredados por las subclases.

Private:
Al contrario que las pblicas, las variables/funciones privadas slo pueden ser
accedidas desde dentro de la misma clase. Todo intento de llamarlas desde la una
instancia de la misma es en vano. Mantener variables/funciones privadas permiten
tener un mayor control sobre la clase, sobre el modo como procesa sus mtodos,
como maneja sus variables, etc. Para declarar una variable/funcin como privada,
se le antepone la palabra clave private.
private: Los miembros declarados private son accesibles slo en la propia clase.

Protected:
Existe un tipo intermedio de mbito, llamado protegido. Es un punto medio entre
pblico y privado, porque -como ocurre con las privadas- no se puede acceder a
ella desde una instancia de la clase, pero -como ocurre con las pblicas- puede
ser accedido desde las subclases de sta, no importa si se encuentran o no en el
mismo paquete. Bsicamente significa que, si una clase hereda de otra, tendr
acceso a las variables/funciones protegidas de la super-clase, de lo contrario, no
podr acceder a ellas. Para declarar una variable como protegida, se le antepone
la palabra clave protected.
protected: Los miembros declarados protected son accesibles slo para sus
subclases

2. Realiza un mapa conceptual con 15 trminos del tema de modularidad.

3. Cul es la funcin principal de la jerarqua en la POO.

La funcin de la jerarqua en la POO es determinar la organizacin de las distintas


clases de un programa. La representacin de dicha organizacin da lugar a los
denominados rboles de herencia. El ms claro ejemplo de jerarqua es la
herencia. Mediante la herencia una clase hija puede tomar determinadas
propiedades de una clase padre. As se simplifican los diseos y se evita la
duplicacin de cdigo al no tener que volver a codificar mtodos ya
implementados. En trminos generales, la funcin principal es que permite ordenar
los elementos de acuerdo a su nivel, es similar a una pirmide en la que en la
cima se encuentra la parte primaria y en las dems se van ubicando sus partes
secundarias o heredadas.

4. Cul es la relacin que existe entre jerarqua y polimorfismo?

Polimorfismo: Caracterstica que permite tomar como algo igual a un nivel superior
dos
cosas
que
a
un
nivel
ms
bajo
son
diferentes
Ejemplo: animal: Vaca y Caballo. Los dos son animales a un nivel alto de
abstraccin
(animal)
pero
diferentes
a
un
nivel
inferior.
El polimorfismo bsicamente permite olvidarse de ciertas caractersticas
especficas de varios objetos para centrarse en lo que tengan en comn, en lo que
los
haga
iguales.
Jerarqua: el concepto de jerarqua designa una forma de organizacin de diversos
objetos de un determinado sistema, en el que cada uno es subordinado del
elemento
posicionado
inmediatamente
en
el
nivel
superior.
As como la herencia est relacionada con las clases y su jerarqua, el
polimorfismo se relaciona con los mtodos permitiendo que un mismo objeto
pueda tomar diversas formas

5. Mediante un ejemplo explique el concepto de herencia

La herencia es uno de los mecanismos de la programacin orientada a objetos,


por medio de la cual una clase se deriva de otra de manera que extiende su
funcionalidad.
Una de sus funciones ms importantes es la de proveer polimorfismo. La herencia
en la POO permite a una clase heredar las propiedades de una clase de objetos,
donde la clase padre sirve como patrn a 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 mltiples padres es herencia mltiple, la ventaja de la herencia
es permitir la reutilizacin de cdigo.

1. ejemplo
CLASES
DE
ANIMALE

Herbvoro

Conejo

Anfibios

Mamfer
os

Sapo

2. Ejemplo

Herencia madre hija, caractersticas como:

Color de ojos
Color de cabello
Color de piel
Gustos

Perro

6. Realiza un rbol teniendo en cuenta las clases y subclases y lo que heredan de


cada uno de las clases padres.

Deportes de
Pelota
(Clase Padre)

Con la Mano

Con el Pie

(Subclase
hija1)

(Subclase
hija2)

Baloncesto

Tenis

Futbol

(Subclase
nieta 1)

(Subclase
nieta 2)

(Subclase
nieta 3)

Futbol
Sala
(Subclase
nieta 4)

REFERENCIAS

Modulo Programacin Orientada a Objetos


http://www.alegsa.com.ar/Diccionario/C/12117.php

También podría gustarte