You are on page 1of 38

PROGRAMACIN ORIENTADA A OBJETOS

ALUMNO:
JEFFERSON ROLANDO DOMINGUEZ ZUIGA
CURSO:
Computacin I
DOCENTE:
Ing. Hugo Serrano
CICLO:
II

DEDICATORIA
Este trabajo va dedicado a mis
padres porque sin ellos yo no
estara aqu.

INTRODUCCIN
La orientacin a objetos promete mejoras de amplio alcance en la forma de
diseo, desarrollo y mantenimiento del software ofreciendo una solucin a largo
plazo a los problemas y preocupaciones que han existido desde el comienzo en
el desarrollo de software: la falta de portabilidad del cdigo y reusabilidad,
cdigo que es difcil de modificar, ciclos de desarrollo largos y tcnicas de
codificacin no intuitivas.
Un lenguaje orientado a objetos ataca estos problemas. Tiene tres
caractersticas bsicas: debe estar basado en objetos, basado en clases y
capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de
estos puntos; muchos menos cumplen los tres. La barrera ms difcil de sortear
es usualmente la herencia.
El concepto de programacin orientada a objetos (OOP) no es nuevo,
lenguajes clsicos como SmallTalk se basan en ella. Dado que la OOP. Se
basa en la idea natural de la existencia de un mundo lleno de objetos y que la
resolucin del problema se realiza en trminos de objetos, un lenguaje se dice
que est basado en objetos si soporta objetos como una caracterstica
fundamental del mismo.
El elemento fundamental de la OOP es, como su nombre lo indica, el objeto.
Podemos definir un objeto como un conjunto complejo de datos y programas
que poseen estructura y forman parte de una organizacin.

PROGRAMACION ORIENTADA A
OBJETOS
HISTORIA DE PROGRAMACIN ORIENTADA A OBJETOS
Los conceptos de la programacin orientada a
objetos tienen origen en Simula 67, un lenguaje
diseado para hacer simulaciones, creado por OleJohan Dahl y Kristen Nygaard del Centro de
Cmputo Noruego en Oslo. En este centro, se
trabajaba en simulaciones de naves, que fueron
confundidas por la explosin combinatoria de
cmo las diversas cualidades de diferentes naves
podan afectar unas a las otras. La idea surgi al
agrupar los diversos tipos de naves en diversas clases de objetos, siendo
responsable cada clase de objetos de definir sus propios datos y
comportamientos.
La programacin orientada a objetos se fue convirtiendo en el estilo de
programacin dominante a mediados de los aos ochenta, en gran parte
debido a la influencia de C++, una extensin del lenguaje de programacin C.
Su dominacin fue consolidada gracias al auge de las Interfaces grficas de
usuario, para

las cuales la programacin

orientada

a objetos est

particularmente bien adaptada.


Lenguajes orientados a objetos
Entre los lenguajes orientados a objetos algunos destacados son:
ABAP

Ada

AJAX

C++

Clarion

PowerBuilder

Object Pascal (Delphi)

Python

Flex builder (adobe)

VB.NET

Gambas

Visual FoxPro

Harbour

Java

Eiffel

Visual Basic 6.0

JavaScript

Visual Objects.

Objective-C

C++
C++ es un lenguaje de programacin diseado a mediados de los aos 1980
por Bjarne Stroustrup. La intencin de su creacin fue el extender al exitoso
lenguaje de programacin C con mecanismos que permitan la manipulacin de
objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a
objetos, el C++ es un lenguaje hbrido.
Posteriormente se aadieron facilidades de programacin genrica, que se
sum a los otros dos paradigmas que ya estaban admitidos (programacin
estructurada y la programacin orientada a objetos). Por esto se suele decir
que el C++ es un lenguaje de programacin multiparadigma.

Actualmente existe un estndar, denominado ISO C++, al que se han adherido


la mayora de los fabricantes de compiladores ms modernos. Existen tambin
algunos intrpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores, y de
poder crear nuevos tipos que se comporten como tipos fundamentales.
El nombre C++ fue propuesto por Rick Mascitti en el ao 1983, cuando el
lenguaje fue utilizado por primera vez fuera de un laboratorio cientfico. Antes
se haba usado el nombre "C con clases". En C++, la expresin "C++" significa
"incremento de C" y se refiere a que C++ es una extensin de C.

La palabra reservada "void"


La palabra reservada void define en C++ el concepto de no existencia o no
atribucin de un tipo en una variable o declaracin. Es decir, una funcin
declarada como void no devolver ningn valor. Esta palabra reservada
tambin puede usarse para indicar que una funcin no recibe parmetros,
como en la siguiente declaracin:
int funcion (void);
Aunque la tendencia actual es la de no colocar la palabra "void".
Adems se utiliza para determinar que una funcin no retorna un valor, como
en:
void funcion (int parametro);
Cabe destacar que void no es un tipo. Una funcin como la declarada
anteriormente no puede retornar un valor por medio de return: la palabra clave
va sola. No es posible una declaracin del tipo:
void t; //Est mal

En este sentido, void se comporta de forma ligeramente diferente a como lo


hace en C, especialmente en cuanto a su significado en declaraciones y
prototipos de funciones.
Sin embargo, la forma especial void * indica que el tipo de datos es un puntero.
Por ejemplo:
void *memoria;
Indica que memoria es un puntero a alguna parte, donde se guarda informacin
de algn tipo. El programador es responsable de definir estos "algn",
eliminando toda ambigedad. Una ventaja de la declaracin "void *" es que
puede representar a la vez varios tipos de datos, dependiendo de la operacin
de cast escogida. La memoria que hemos apuntado en alguna parte, en el
ejemplo anterior, bien podra almacenar un entero, un flotante, una cadena de
texto o un programa, o combinaciones de stos. Es responsabilidad del
programador recordar qu tipo de datos hay y garantizar el acceso adecuado.

Smalltalk
Smalltalk es un lenguaje reflexivo de programacin, orientado a objetos y con
tipado dinmico. Por sus caractersticas, Smalltalk puede ser considerado
tambin como un entorno de objetos, donde incluso el propio sistema es un
objeto. Metafricamente, se puede considerar que un Smalltalk es un mundo
virtual donde viven objetos que se comunican entre s, mediante el envo de
mensajes.
Un sistema Smalltalk est compuesto por:

Una Mquina virtual (Virtual machine)

Un archivo llamado "Imagen", que contiene a todos los objetos del


sistema

Un lenguaje de programacin (tambin conocido como Smalltalk)

Una enorme biblioteca de "objetos reusables"

Y generalmente, un entorno de desarrollo que adems puede funcionar


como un sistema en tiempo de ejecucin.

Historia
Los orgenes de Smalltalk se encuentran en las investigaciones realizadas por
Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg y otros durante los aos
setenta en el Palo Alto Research Institute de Xerox (conocido como Xerox
PARC), para la creacin de un sistema informtico orientado a la educacin. El
objetivo era crear un sistema que permitiese expandir la creatividad de sus
usuarios, proporcionando un entorno para la experimentacin, creacin e
investigacin.

Caractersticas
Smalltalk es considerado el primero de los lenguajes orientados a objetos
(OOP), aunque en realidad el primero en implementar programacin orientada
a objetos fue Simula. En Smalltalk todo es un objeto, incluidos los nmeros
reales o el propio entorno Smalltalk.
Como lenguaje tiene las siguientes caractersticas:

Orientacin a Objetos

Tipado dinmico

Interaccin entre objetos mediante envo de mensajes

Herencia simple y con raz comn

Reflexin computacional completa

Recoleccin de basura

Compilacin en tiempo de ejecucin o Interpretado (dependiendo de la


distribucin o del proveedor)

Mltiples Implementaciones

Smalltalk ha tenido gran influencia sobre otros lenguajes como Java o Ruby, y
de su entorno han surgido muchas de las prcticas y herramientas de
desarrollo

promulgadas

actualmente

por

las

metodologas

giles

(refactorizacin, desarrollo incremental, desarrollo dirigido por tests, etc.).

Sintaxis
Tradicionalmente, Smalltalk no posee una notacin explcita para describir un
programa entero. S se utiliza una sintaxis explcita para definir ciertos
elementos de un programa, tales como mtodos, pero la manera en que tales
elementos estn estructurados dentro de un programa entero generalmente es
definida por las mltiples implementaciones. El estndar mismo no promueve
otra direccin, por lo que define una sintaxis abstracta de programas Smalltalk,
que define todos los elementos que constituyen un programa Smalltalk y la
manera en que esos elementos estn lgicamente compuestos por otros
elementos, sin embargo, cada implementacin es libre de definir y utilizar las
muchas sintaxis posibles que estn conformes a la sintaxis abstracta estndar.
Un ejemplo de una sintaxis concreta es el Formato de Intercambio Smalltalk (o
SIF, de Smalltalk Interchange Format) definida en el mismo estndar.
La sintaxis de Smalltalk-80 tiende a ser minimalista. Esto significa que existen
un grupo pequeo de palabras reservadas y declaraciones en comparacin con
la mayora de los lenguajes populares. Smalltalk posee un grupo de 5 palabras
reservadas: self, super, nil, true y false

Java

Java es un lenguaje de programacin de propsito general, concurrente, orientado a


objetos y basado en clases que fue diseado especficamente para tener tan
pocas dependencias de implementacin como fuera posible. Su intencin es
permitir que los desarrolladores de aplicaciones escriban el programa una vez y
lo ejecuten en cualquier dispositivo (conocido en ingls como WORA, o "write
once, run anywhere"), lo que quiere decir que el cdigo que es ejecutado en
una plataforma no tiene que ser recompilado para correr en otra. Java es, a
partir de 2012, uno de los lenguajes de programacin ms populares en uso,
particularmente para aplicaciones de cliente-servidor de web, con unos 10
millones de usuarios reportados.2 3
El lenguaje de programacin Java fue originalmente desarrollado por James
Gosling de Sun Microsystems (la cual fue adquirida por la compaa Oracle) y
publicado en 1995 como un componente fundamental de la plataforma Java de
Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene
menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de
Java son generalmente compiladas a bytecode (clase Java) que puede
ejecutarse en cualquier mquina virtual Java (JVM) sin importar la arquitectura de
la computadora subyacente.
La compaa Sun desarroll la implementacin de referencia original para los
compiladores de Java, mquinas virtuales, y libreras de clases en 1991 y las
public por primera vez en 1995. A partir de mayo de 2007, en cumplimiento

con las especificaciones del Proceso de la Comunidad Java, Sun volvi a


licenciar la mayora de sus tecnologas de Java bajo la Licencia Pblica General
de GNU. Otros tambin han desarrollado implementaciones alternas a estas
tecnologas de Sun, tales como el Compilador de Java de GNU y el GNU
Classpath.
Orientado a objetos
La primera caracterstica, orientado a objetos (OO), se refiere a un mtodo de
programacin y al diseo del lenguaje. Aunque hay muchas interpretaciones
para OO, una primera idea es disear el software de forma que los distintos
tipos de datos que usen estn unidos a sus operaciones. As, los datos y el
cdigo (funciones o mtodos) se combinan en entidades llamadas objetos. Un
objeto puede verse como un paquete que contiene el comportamiento (el
cdigo) y el estado (datos). El principio es separar aquello que cambia de las
cosas que permanecen inalterables. Frecuentemente, cambiar una estructura
de datos implica un cambio en el cdigo que opera sobre los mismos, o
viceversa. Esta separacin en objetos coherentes e independientes ofrece una
base ms estable para el diseo de un sistema software. El objetivo es hacer
que grandes proyectos sean fciles de gestionar y manejar, mejorando como
consecuencia su calidad y reduciendo el nmero de proyectos fallidos. Otra de
las grandes promesas de la programacin orientada a objetos es la creacin de
entidades ms genricas (objetos) que permitan la reutilizacin del software
entre proyectos, una de las premisas fundamentales de la Ingeniera del
Software. Un objeto genrico cliente, por ejemplo, debera en teora tener el
mismo conjunto de comportamiento en diferentes proyectos, sobre todo cuando
estos coinciden en cierta medida, algo que suele suceder en las grandes
organizaciones. En este sentido, los objetos podran verse como piezas
reutilizables

que

pueden

emplearse

en

mltiples

proyectos

distintos,

posibilitando as a la industria del software a construir proyectos de


envergadura empleando componentes ya existentes y de comprobada calidad;
conduciendo esto finalmente a una reduccin drstica del tiempo de desarrollo.
Podemos usar como ejemplo de objeto el aluminio. Una vez definidos datos
(peso, maleabilidad, etc.), y su comportamiento (soldar dos piezas, etc.), el

objeto aluminio puede ser reutilizado en el campo de la construccin, del


automvil, de la aviacin, etc.
La

reutilizacin

del

software

ha

experimentado

resultados

dispares,

encontrando dos dificultades principales: el diseo de objetos realmente


genricos es pobremente comprendido, y falta una metodologa para la amplia
comunicacin de oportunidades de reutilizacin. Algunas comunidades de
cdigo abierto (open source) quieren ayudar en este problema dando medios
a los desarrolladores para diseminar la informacin sobre el uso y versatilidad
de objetos reutilizables y bibliotecas de objetos.

PROGRAMACIN ORIENTADA A OBJETOS


DEFINICIN:

La programacin orientada a objetos consiste en ordenar datos en conjuntos


modulares de elementos de informacin del mundo real (denominado
un dominio). Estos elementos de datos se llaman objetos. Estos datos se
agrupan de acuerdo a las caractersticas principales del mundo real de estos
elementos (tamao, color, etc.).

QUE ES UN OBJETO?

Un objeto no es ms que un conjunto de variables (o datos) y mtodos (o


funciones) relacionados entre s. Los objetos en programacin se usan para
modelar objetos oentidades del mundo real (el objeto hijo, madre, o
farmacutica, por ejemplo). Un objeto es, por tanto, la representacin en un
programa de un concepto, y contiene toda la informacin necesaria para
abstraerlo: datos que describen sus atributos y operaciones que pueden
realizarse sobre los mismos. La siguiente figura muestra una representacin
visual de un objeto.

ESTRUCTURA DE UN OBJETO

Un objeto puede considerarse como una especie de cpsula dividida en tres


partes:

1 - RELACIONES

2 - PROPIEDADES

3 METODOS

Cada

uno

de

estos

componentes

desempea

un

papel

totalmente

independiente:

Las relaciones permiten que el objeto se inserte en la organizacin y estn


formadas esencialmente por punteros a otros objetos.

Las propiedades distinguen un objeto determinado de los restantes que


forman parte de la misma organizacin y tiene valores que dependen de la
propiedad de que se trate. Las propiedades de un objeto pueden ser heredadas
a sus descendientes en la organizacin.

Los mtodos son las operaciones que pueden realizarse sobre el objeto, que
normalmente estarn incorporados en forma de programas (cdigo) que el
objeto es capaz de ejecutar y que tambin pone a disposicin de sus
descendientes a travs de la herencia.

Un ejemplo de una entidad fsica representada como un objeto conceptual


puede ser Un Auto

Un Objeto posee:

Estado representa la definicin de atributos internos del objeto.

Propiedades: El

auto tiene un cierto nmero de puertas, un cierto

nmero de ruedas, un volante, un motor, pedales, etc.

Por ejemplo cada ventana que abres en tu Computadora es un Objeto


tiene propiedades que son el color de la ventana, su tamao, imgenes,
etc. Y tiene

Sus mtodos: Cerrar, Abrir. Maximizar. Comportamiento representa la


definicin del comportamiento del objeto las acciones que este puede
realizar.
Por ejemplo, un auto puede arrancar, Frenar,doblar,acelerar,etc
Informalmente un, objeto representa una entidad del mundo real.

Entidades Fsicas (Ejemplo: Vehculo, Casa, Producto).


Entidades Conceptuales (Ejemplo: Proceso Qumico, Transaccin
Bancaria).
Entidades de Software (Ejemplo: Lista Enlazada, Interfaz Grfica).

POR QU ORIENTACIN A OBJETOS (OO)?

Se parece ms al mundo real


Permite representar modelos complejos
Muy apropiada para aplicaciones de negocios
Las empresas ahora s aceptan la OO
Las nuevas plataformas de desarrollo la han adoptado (Java / .NET)

QU ES UN MENSAJE?

Normalmente un nico objeto por s solo no es muy til. En general, un objeto


aparece como un componente ms de un programa o una aplicacin que
contiene otros muchos objetos. Es precisamente haciendo uso de esta
interaccin como los programadores consiguen una funcionalidad de mayor
orden y modelar comportamientos mucho ms complejos. Una bicicleta (a partir
de ahora particularizaremos) colgada de un gancho en el garaje no es ms que
una estructura de aleacin de titanio y un poco de goma. Por s sola, tu
bicicleta (por poner una bicicleta en concreto) es incapaz de desarrollar
ninguna actividad. Tu bicicleta es realmente til en tanto que otro objeto (t)
interacta con ella (pedalea).

QUE ES UNA CLASE?


DEFINICIN:
La clase es un modelo o prototipo que define las variables y mtodos comunes
a todos los objetos de cierta clase. Tambin se puede decir que una clase es
una plantilla genrica para un conjunto de objetos de similares caractersticas.
Una Clase es una descripcin de un grupo de objetos con:

Propiedades en comn (atributos)


Comportamiento similar(operaciones)
La misma forma de relacionarse con otros objetos(relaciones)
Una semntica en comn(significan lo mismo)
Una clase es una abstraccin que:
Enfatiza las caractersticas relevantes
Suprime otras caractersticas(simplificacin)
Un objetos es una instancia de una clase
La forma ms fcil de entender el concepto de clase es si vemos como
una agrupacin de objetos con caractersticas similares

EJEMPLO:
Clase: Planeta.

Propiedades: radio, temperatura promedio, distancia al sol, numero de


lunas, color caracterstico, etc....

Mtodos: realizar rotacin.

SetRdio,

getRdio, estimar tiempo de

vida, calcular gravedad, etc...

Cuando quieras usar esa clase en tu programa por ejemplo para definir al
planeta Saturno necesitaras un "objeto" de la clase Planeta.

Planeta Saturno = new Planeta ();

Saturno.setRadio(radio de Saturno);

gravedad=Saturno.calcular_gravedad();
Imprime("La gravedad de Saturno es " + gravedad);

Por ejemplo, nuestro telfono celular es slo uno de los miles que hay
en el mundo. Si hablamos en trminos de la programacin orientada a
objetos, podemos decir que nuestro objeto celular es una instancia de
una clase conocida como "celular". Los celulares tienen caractersticas
(marca,

modelo,

sistema

operativo,

pantalla,

teclado,

etc.)

comportamientos (hacer y recibir llamadas, enviar mensajes multimedia,


transmisin de datos, etc.).

Cuando se fabrican los celulares, los fabricantes aprovechan el hecho de que


los celulares comparten esas caractersticas comunes y construyen modelos o
plantillas comunes, para que a partir de esas se puedan crear muchos equipos
celulares del mismo modelo. A ese modelo o plantilla le llamamos CLASE, y a
los equipos que sacamos a partir de ella la llamamos OBJETOS.

Una clase es una definicin abstracta de un objeto

Define la estructura y el comportamiento compartidos por los objetos

Sirve como modelo para la creacin de objetos

Los Objetos pueden ser agrupados en clases

Otra til de ver una clase es como una plantilla, plano o molde de un conjuto
de

entidades

a partir

del cual

se crearan luego

instancias

particulares(objetos)

La interaccin de las entidades en el mundo real se produce entre objetos, no


entre las clases

Las Clases no tienen vida en el mundo real, los objetos si. Para poder
interactuar con alguna clase deberemos crear una instancia particular de ella,

con un conjunto de valores definidos para los atributos. A este proceso se los
conoce como instanciacin de un objeto.

Clase

ATRIBUTOS

METODOS

CARACTERISTICAS DE LA PROGRAMACION ORIENTADA A OBJETOS

ABSTRACCON

RELACIN

ENCAPSULAMIENTO

HERENCIA

POLIMORFISMO

MODULARIDAD

JERARQUA

ABSTRACCION

La abstraccin consiste en captar las caractersticas esenciales de un objeto,


as como su comportamiento. Por ejemplo, volvamos al ejemplo de los
automviles, Qu caractersticas podemos abstraer de los automviles? O lo

que es lo mismo Qu caractersticas semejantes tienen todos los


automviles? Todos tendrn una marca, un modelo, nmero de chasis, peso,
llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los
automviles podrn acelerar, frenar, retroceder, etc.

En los lenguajes de programacin orientada a objetos, el concepto de Clase es


la representacin y el mecanismo por el cual se gestionan las abstracciones.

Por ejemplo, en Java tenemos:

public class Automovil {

// variables

// mtodos

Por ejemplo: Imaginemos que queremos aplicar la abstraccin a las Autos.

El objeto seria Auto, y sus caractersticas, por ejemplo serian:

-color

-ruedas

-luces

Las funcionalidades serian:

ENCAPSULAMIENTO

El encapsulamiento consiste en unir en la Clase las caractersticas y


comportamientos, esto es, las variables y mtodos. Es tener todo esto es una
sola entidad. En los lenguajes estructurados esto era imposible. Es evidente
que el encapsulamiento se logra gracias a la abstraccin y el ocultamiento que
veremos a continuacin.

La utilidad del encapsulamiento va por la facilidad para manejar la complejidad,


ya que tendremos a las Clases como cajas negras donde slo se conoce el
comportamiento pero no los detalles internos, y esto es conveniente porque

nos interesar ser conocer qu hace la Clase pero no ser necesario saber
cmo lo hace.

Deben ser declarados como privados

Permite abstraer al resto del mundo de la complejidad de la immplementacion


interna

Permite exponer el estado del objeto solo a travs del comportamiento que le
hayamos mediante miebros pblicos

Porque es til

Punto de control validacin

Mejor respuesta ante los cambios

Ejemplo de Encapsulamiento

Porcin visible: interfaz (protocolo)

Contrato pblico de comportamiento

Descripcin de operaciones: informacin de entrada y de salida

Porcin oculta: implementacin

Estructura de datos para almacenar datos

Cdigo que se ejecuta para realizar las operaciones

RELACIONES

Todo sistema abarca muchas clases y objetos

Los objetos contribuyen en el comportamiento de un sistema

colaborando

entre si

La colaboracin se logra a travs de las relaciones

Existen dos tipos principales de relaciones

Asociacin

Agregacin

RELACIONES DE ASOCIACIN

Una asociacin es una conexin entre dos clases que representa una
comunicacin

Una asociacin puede tener nombre

La comunicacin puede ser tanto uni como bi-direccional (por defecto)

La multiplicidad es el nmero de instancias que participan en una asociacin

Ejemplo:

Una Persona es Duea de un Vehculo

Un Vehculo Pertenece a una Persona

Relaciones de Agregacin

La agregacin es una forma especial de asociacin donde un todo se relaciona


con sus partes

Tambin se conoce como una parte de o una relacin de contencin

Ejemplo:

Una Puerta es una parte de un Vehculo

El Vehculo es azul, la Puerta es Azul

Mover el Vehculo implica mover la Puerta

HERENCIA

Es una relacin entre clases en la cual una clase comparte la estructura y


comportamiento definido en otra clase (Grady Booch).

Cada clase que hereda de otra posee:

Los atributos de la clase base adems de los propios

Soporta todos o algunos de los mtodos de la clase base

Una subclase hereda de una clase base.

CLASE BASE

CLASES DERIVADAS O
SUBCLASES

Herencia Es-Un: herencia real, donde la subclase es un tipo especfico de la


superclase

Un Cuadrado es un Rectngulo

Un perro es un mamfero

Un automvil es un vehculo a motor

POLIMORFISMO

El polimorfismo se presenta cuando se ha creado objetos que pertenecen a


clases que han sido derivadas de otras clases. En otras palabras, el
polimorfismo aparece en las clases derivadas.

Tambin se dice que el polimorfismo es la propiedad que indica literalmente, la


posibilidad de que una entidad tome muchas formas, en trminos prcticos el
polimorfismo permite referirse a objetos de clases distintas mediante el mismo
elemento de programa y realizar la misma operacin de diferentes formas,
segn sea el objeto que se referencia en ese momento

Ejemplo:

Por ejemplo cuando se describe la clase mamferos se puede observar que la


operacin comer es una operacin fundamental en la vida de los mamferos, de
modo que cada tipo de mamferos debe poder realizar la operacin o funcin
comer. Por otra parte, una vaca o una cabra que pasta en el campo, un nio
que se come un bombn o caramelo y un len que devora a otro animal, son
diferentes formas que utilizan los distintos mamferos para realizar la misma
funcin (comer).

MODULARIDAD

La modularidad juega un papel muy importante. Una vez que hemos


representado una situacin del mundo real en un programa, tenemos
regularmente como resultado, un conjunto de objetos de software que
constituyen la aplicacin. La modularidad, nos permite poder modificar las
caractersticas de la clase que definen a un objeto, de forma independiente de
las dems clases en la aplicacin. En otras palabras, si nuestra aplicacin
puede dividirse en mdulos separados, normalmente clases, y estos mdulos
pueden compilarse y modificarse sin afectar a los dems, entonces dicha
aplicacin ha sido implementada en un lenguaje de programacin que soporta
la modularidad.
La tecnologa orientada a objetos nos brinda esta propiedad para hacer uso de
ella en el software que desarrollemos.

JERARQUA

La tecnologa orientada a objetos nos permite definir jerarquas entre clases y


jerarquas entre objetos. Las dos jerarquas ms importantes que existen son la
jerarqua es un que precisa la generalizacin y especificacin entre clases y la
jerarqua es parte de en la cual se delimita la agregacin de objetos.
Comnmente, a la jerarqua es un se le conoce como herencia. La herencia
simple es la propiedad que nos permite definir una clase nueva en trminos de
una clase ya existente.

Ejemplo:

Si podemos decir que una bicicleta de carreras es una bicicleta, entonces


podemos definir a la clase bicicleta de carreras a partir de la clase bicicleta.
Existirn casos en los cuales se necesite definir una clase a partir de dos o ms
clases preexistentes, en este caso estaremos hablando de herencia mltiple.
En cuanto a la jerarqua de agregacin, tambin conocida como inclusin,
podemos decir que se trata del agrupamiento lgico de objetos relacionados
entre s dentro de una clase.

Cules son las ventajas de un lenguaje orientado a objetos?

Fomenta la reutilizacin y extensin del cdigo.

Permite crear sistemas ms complejos.

Relacionar el sistema al mundo real.

Facilita la creacin de programas visuales.

Construccin de prototipos

Agiliza el desarrollo de software

Facilita el trabajo en equipo

Facilita el mantenimiento del software

Lo interesante de la POO es que proporciona conceptos y herramientas


con las cuales se modela y representa el mundo real tan fielmente como
sea posible.

CONCLUSIONES

La programacin orientada a objetos permite la optimizacin del cdigo


generado gracias a que mediante tcnicas de herencia, atributos

estticos entre otros permiten, que el cdigo sea genrico de manera


que sea reutilizable.

Mediante la tcnica aprendida en el presente curso podemos establecer


una solucin primitiva de un problema real, tan solo con relacionarlo con
objetos lgicos que sern usados para el desarrollo del software.

Podemos dar a conocer de una forma sencilla los mecanismos que se


usan en este nivel de programacin, a personas que deseen una
explicacin rpida y sencilla de lo que es la programacin orientada a
objetos.

Tenemos los conocimientos necesarios como para enfrentar un


problema real y desarrollo en otro lenguaje de programacin, pues
concebimos la idea de que el lenguaje C es la base de la programacin.

Al trabajar con la programacin orientada a objetos est desarrollada


en otras plataformas de programacin o en lenguaje C, sabemos las
formas de lograr un mejor rendimiento del equipo a controlar y aplicar
soluciones sencillas, de manera que sea fcilmente digeribles para el
usuario y/o destinatario del trabajo final.

BIBLIOGRAFA
http://wwwisis.ufg.edu.sv/wwwisis/documentos/M0/M000175.html
http://es.wikipedia.org/wiki/Orientado_a_objetos
http://www.monografias.com/trabajos/objetos/objetos.shtml
http://www.desarrolloweb.com/articulos/499.php
http://www.espaciolinux.com/2012/12/programacion-orientada-a-objetos-enbash/
http://thefricky.wordpress.com/2008/04/23/programacion-orientada-a-objetoseventos-i/
http://html.rincondelvago.com/poo_9.html
http://www.wikilearning.com/curso_gratis/creacion_de_componentes_vcl_ipero_que_es_un_componente/3844-2
http://www.pinelo.com/blog/postimgs/2009/03/24/POO.pdf
JOYANES AGUILAR, Luis programacin orientada a objetos -conceptos
modelado, diseo y codificacin en c++ - segunda edicin editorial copyright 199

You might also like