Sunteți pe pagina 1din 16

Instituto tecnolgico de los mochis

Ing. Mecatrnica
Programacin orientada a objetos
Laurean Soto Jesus Alberto
Ing. Lopez Macas Cesar Armando
M51
14440170

19/08/2016
PROGRAMACIN ORIENTADA A OBJETOS

La programacin orientada a objetos (POO, u OOP segn sus siglas en ingls)


es un paradigma de programacin que viene a innovar la forma de obtener
resultados. Los objetos manipulan los datos de entrada para la obtencin de
datos de salida especficos, donde cada objeto ofrece una funcionalidad
especial.
Muchos de los objetos pre-diseados de los lenguajes de programacin
actuales permiten la agrupacin en bibliotecas o libreras, sin embargo, muchos
de estos lenguajes permiten al usuario la creacin de sus propias bibliotecas.
LENGUAJE DE PROGRAMACION
es un paradigma de programacin que viene a innovar la forma de obtener
resultados. Los objetos manipulan los datos de entrada para la obtencin de
datos de salida especficos, donde cada objeto ofrece una funcionalidad
especial.
Es un lenguaje formal diseado para realizar procesos que pueden ser llevados
a cabo por mquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento fsico y
lgico de una mquina, para expresar algoritmos con precisin, o como modo
de comunicacin humana.1
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas
que definen su estructura y el significado de sus elementos y expresiones. Al
proceso por el cual se escribe, se prueba, se depura, se compila (de ser
necesario) y se mantiene el cdigo fuente de un programa informtico se le
llama programacin.
.NET
.NET es un framework de Microsoft que hace un nfasis en la transparencia de
redes, con independencia de plataforma de hardware y que permita un rpido
desarrollo de aplicaciones. Basado en ella, la empresa intenta desarrollar una
estrategia horizontal que integre todos sus productos, desde el sistema
operativo hasta las herramientas de mercado.
.NET podra considerarse una respuesta de Microsoft al creciente mercado de
los negocios en entornos Web, como competencia a la plataforma Java de
Oracle Corporation y a los diversos framework de desarrollo web basados en
PHP. Su propuesta es ofrecer una manera rpida y econmica, a la vez que
segura y robusta, de desarrollar aplicaciones o como la misma plataforma las
denomina, soluciones permitiendo una integracin ms rpida y gil entre
empresas y un acceso ms simple y universal a todo tipo de informacin desde
cualquier tipo de dispositivo.
.NET Framework
.NET Framework (pronunciado punto net ) es un marco de software
desarrollado por Microsoft que se ejecuta principalmente en Microsoft Windows
. Incluye una gran biblioteca de clases conocida como Biblioteca de clases de

Marco (FCL) y proporciona interoperabilidad entre lenguajes (cada idioma


puede utilizar el cdigo escrito en otros idiomas) en diversos lenguajes de
programacin . Los programas escritos para .NET Framework se ejecutan en
un software de medio ambiente (en contraste con el hardware medio ambiente)
conocido como Common Language Runtime (CLR), una mquina virtual de la
aplicacin que proporciona servicios tales como la seguridad, la gestin de
memoria , y el manejo de excepciones . (Como tal, el cdigo de ordenador
escrito utilizando .NET Framework se llama " cdigo administrado FCL".) Y
CLR en conjunto constituyen .NET Framework.
FCL proporciona la interfaz de usuario , el acceso a datos , conectividad de
base de datos , criptografa , aplicaciones web desarrollo, numricos algoritmos
, y las comunicaciones de red . Los programadores de software producen
mediante la combinacin de su propio cdigo fuente con .NET Framework y
otras bibliotecas. .NET Framework est destinado a ser utilizado por la mayora
de las aplicaciones nuevas creadas para la plataforma Windows. Microsoft
tambin produce un entorno de desarrollo integrado en gran parte por el
software .NET llamada Visual Studio.

C# (C Sharp)
C# es un lenguaje de programacin que se ha diseado para compilar diversas
aplicaciones que se ejecutan en .NET Framework. C# es simple, eficaz, con
seguridad de tipos y orientado a objetos. Las numerosas innovaciones de C#
permiten desarrollar aplicaciones rpidamente y mantener la expresividad y
elegancia de los lenguajes de estilo de C.
Visual C# es una implementacin del lenguaje C# de Microsoft. Visual Studio
ofrece compatibilidad con Visual C# con un completo editor de cdigo, un
compilador, plantillas de proyecto, diseadores, asistentes para cdigo, un
depurador eficaz y de fcil uso y otras herramientas. La biblioteca de clases de
.NET Framework ofrece acceso a numerosos servicios de sistema operativo y a
otras clases tiles y adecuadamente diseadas que aceleran el ciclo de
desarrollo de manera significativa. [5]
La sintaxis de C# es muy expresiva, pero tambin es sencilla y fcil de
aprender. La sintaxis de C# basada en signos de llave podr ser reconocida
inmediatamente por cualquier persona familiarizada con C, C++ o Java. Los
desarrolladores que conocen cualquiera de estos lenguajes pueden empezar a
trabajar de forma productiva en C# en un plazo muy breve. La sintaxis de C#
simplifica muchas de las complejidades de C++ y proporciona caractersticas
eficaces tales como tipos de valor que admiten valores NULL, enumeraciones,
delegados, expresiones lambda y acceso directo a memoria, que no se
encuentran en Java. C# admite mtodos y tipos genricos, que proporcionan
mayor rendimiento y seguridad de tipos, e iteradores, que permiten a los
implementadores de clases de coleccin definir comportamientos de iteracin
personalizados que el cdigo cliente puede utilizar fcilmente. Las expresiones

Language-Integrated Query (LINQ) convierten la consulta fuertemente tipada


en una construccin de lenguaje de primera clase.
Como lenguaje orientado a objetos, C# admite los conceptos de encapsulacin,
herencia y polimorfismo. Todas las variables y mtodos, incluido el mtodo
Main que es el punto de entrada de la aplicacin, se encapsulan dentro de
definiciones de clase. Una clase puede heredar directamente de una clase
primaria, pero puede implementar cualquier nmero de interfaces. Los mtodos
que reemplazan a los mtodos virtuales en una clase primaria requieren la
palabra clave override como medio para evitar redefiniciones accidentales. En
C#, una struct es como una clase sencilla; es un tipo asignado en la pila que
puede implementar interfaces pero que no admite la herencia.
Adems de estos principios bsicos orientados a objetos, C# facilita el
desarrollo de componentes de software a travs de varias construcciones de
lenguaje innovadoras, entre las que se incluyen las siguientes:
Firmas de mtodos encapsulados denominadas delegados, que habilitan
notificaciones de eventos con seguridad de tipos.
Propiedades, que actan como descriptores de acceso para variables miembro
privadas.
Atributos, que proporcionan metadatos declarativos sobre tipos en tiempo de
ejecucin.
Comentarios en lnea de documentacin XML.
Language-Integrated Query (LINQ) que proporciona funciones de consulta
integradas en una gran variedad de orgenes de datos.
Si necesita interactuar con otro software de Windows, como objetos COM o
archivos DLL nativos de Win32, podr hacerlo en C# mediante un proceso
denominado "interoperabilidad". La interoperabilidad habilita los programas de
C# para que puedan realizar prcticamente las mismas tareas que una
aplicacin C++ nativa. C# admite incluso el uso de punteros y el concepto de
cdigo "no seguro" en los casos en que el acceso directo a la memoria es
totalmente crtico.
El proceso de compilacin de C# es simple en comparacin con el de C y C++,
y es ms flexible que en Java. No hay archivos de encabezado independientes,
ni se requiere que los mtodos y los tipos se declaren en un orden
determinado. Un archivo de cdigo fuente de C# puede definir cualquier
nmero de clases, structs, interfaces y eventos.

Objeto
[1] Objeto: Una estructura de datos y conjunto de procedimientos que operan
sobre dicha estructura. Una definicin ms completa de objeto es: una entidad
de programa que consiste en datos y todos aquellos procedimientos que
pueden manipular aquellos datos; el acceso a los datos de un objeto es
solamente a travs de estos procedimientos, nicamente estos procedimientos
pueden manipular, referenciar y/o modificar estos datos.
Para poder describir todos los objetos de un programa, conviene agrupar stos
en clases.
[2] objeto: es una encapsulacin abstracta de informacin, junto con los
mtodos o procedimientos para manipularla. Segn la esquemtica
definicin de Wegner, "un objeto contiene operaciones que definen su
comportamiento y variables que definen su estado entre las llamadas a las
operaciones". Bueno, pensemos en un ejemplo asequible: una sala de cine.
Imaginemos un objeto del tipo "sala de cine" donde los datos, variables o
informacin estaran constituidos por los espectadores; imaginemos tambin
(y esto es importante) que los espectadores no pudieran moverse por s
solos dentro de la sala (como si estuvieran catatnicos). Quines seran los
manipuladores, mtodos, procedimientos u operaciones encargados de
manipular a los espectadores? Indudablemente los acomodadores de la sala,
aunque tambin el personal directivo de la misma.[2]

Clase
[1] Clase: Podemos considerar una clase como una coleccin de objetos que
poseen caractersticas y operaciones comunes. Una clase contiene toda la
informacin necesaria para crear nuevos objetos.

[2] Una clase equivale a la generalizacin o abstraccin de un tipo especfico


de
Objetos. Los polgonos con tres lados iguales podran ser generalizados, por
ejemplo, en una clase que llamaremos "trianguloEquilatero". Hablar de clase
es, as, hablar de
una determinada clase de objetos. En C++ una clase ("class", segn la
terminologa del lenguaje) es un tipo
definido-por-el-usuario. De esta forma, y siguiendo con el ejemplo
cinematogrfico, el objeto abstracto "Sala de
Cine" sera implementado como la clase "SalaDeCine" en C++, habiendo
definido as un nuevo tipo de dato

abstracto, que ser manejado por el compilador de parecida forma a como lo


hace con los tipos predefinidos (int,
char, float, etc.). Podremos, as, como ya veremos, declarar un determinado
objeto del tipo (o de la clase)
"SalaDeCine".

Encapsulacin
[1] Encapsulacin: Es una tcnica que permite localizar y ocultar los detalles
de un objeto. La encapsulacin previene que un objeto sea manipulado por
operaciones distintas de las definidas. La encapsulacin es como una caja
negra que esconde los datos y solamente permite acceder a ellos de forma
controlada.
Las principales razones tcnicas para la utilizacin de la encapsulacin son:
1) Mantener a salvo los detalles de representacin, si solamente nos interesa el
comportamiento del objeto.
2) Modificar y ajustar la representacin a mejores soluciones algortmicas o a
nuevas tecnologas de software. [1]

[2] Encapsulacin: Qu es, por otro lado, la encapsulacin? Lo que de


inmediato nos sugiere el vocablo es la accin de encapsular, de encerrar algo
en una cpsula, como los polvitos medicinales que nos venden en las
farmacias. Podemos decir que la encapsulacin se refiere a la capacidad de
agrupar y condensar en un entorno con lmites bien-definidos distintos
elementos. El fenmeno de la encapsulacin podra darse, por ejemplo, en el
conjunto de herramientas y elementos heterogneos que integran -es un decirla caja de herramientas de un fontanero: la caja es la cpsula y todo lo que
haya dentro es lo que hemos encapsulado. Pero no nos perdamos: la cualidad
de "encapsulacin"
la aplicaremos nicamente a abstracciones: o sea, afirmar que una caja de
herramientas concreta encapsula un bocadillo, un martillo y un limn
constituye una cierta trasgresin lxica. Cuando hablemos de encapsulacin
en general siempre nos referiremos, pues, a encapsulacin abstracta. Las
dos propiedades expuestas estn, como vemos y en lo que a la OOP
concierne, fuertemente ligadas. Dicho de manera informal, primero
generalizamos (la abstraccin) y luego decimos: la generalizacin est bien,
pero dentro de un cierto orden: hay que poner lmites (la encapsulacin), y
dentro de esos lmites vamos a meter, a saco, todo lo relacionado con lo
abstrado: no slo datos, sino tambin mtodos, comportamientos, etc.
Pero, bueno y esto es OOP? Pues s, esta es una caracterstica fundamental
de OOP. Vemoslo de esta manera: imaginemos una base de datos
relacional conteniendo unos datos accesibles mediante programas en C
Pascal. Podramos decir (con cierto recelo) que la estructura de la Base de
Datos encapsula la informacin, pero qu podramos decir de las funciones
que se aplican a estos datos? Bueno, lo cierto es que tales funciones o
mtodos estarn normalmente dispersados en multitud de mdulos. En
realidad aqu se trata de una encapsulacin a medias y esto parece que no
funciona del todo bien: pensemos en unas cpsulas medicinales que

contuvieran nicamente algn componente qumico del medicamento y el


resto estuviera todo mezclado -en polvo- en el fondo de la caja: quizs al
final surtan el mismo efecto, pero, diantre, esto equivaldra a triturar junta
toda la comida de un da pensando que, de todas formas, en el estmago se
habr de juntar. Bien: la OOP proclama que una misma cpsula contenga
datos y funciones. Pero, cmo?, preguntar el inquieto lector. Pensemos en
Bases de Datos. Mejor en Bases de Objetos: aqu se archivan a la vez los
datos y los mtodos para accederlos, manipularlos, etc. Se archivan las
funciones? Efectivamente! Podemos comandar un query en SQL (mejor en
OSQL: SQL de Objetos) que seleccione y ejecute algunas de las funciones
archivadas a la vez que se aplica sobre los datos. Al meter en el mismo
"saco" (que en C++, como inmediatamente vamos a ver, es la class) datos y
funciones s que tenemos una encapsulacin "completa".[2]

Abstraccin
[1] Abstraccin: En el sentido mas general, una abstraccin es una
representacin concisa de una idea o de un objeto complicado. En un sentido
mas especifico, la abstraccin localiza y oculta los detalles de un modelo o
diseo para generar y manipular objetos.
Una abstraccin tiene un significado ms general que la encapsulacin,
pudiendo hablar de abstraccin de datos en lugar de encapsulacin de datos.
Como resumen de los 3 conceptos expuestos anteriormente podemos decir
que:
1) Los objetos son encapsulaciones de abstracciones en la POO.
2) La unidad de encapsulacin en la POO es el objeto.
Una clase es un tipo: Un objeto es una instancia de ese tipo. Adems, la clase
es un concepto esttico: una clase es un elemento reconocible en el texto del
programa.
Un objeto es un concepto puramente dinmico, el cual pertenece, no al texto
del programa, sino a la memoria de la computadora, donde los objetos ocupan
un espacio en tiempo de ejecucin una vez que haya sido creado.
La programacin orientada a objetos, ha tomado las mejores ideas de la
programacin estructurada y los ha combinado con varios conceptos nuevos y
potentes que incitan a contemplar las tareas de programacin desde un nuevo
punto de vista. La programacin orientada a objetos, permite descomponer
mas fcilmente un problema en subgrupos de partes relacionadas del
problema. Entonces, utilizando el lenguaje se pueden traducir estos subgrupos
a unidades autocontenidas llamadas objetos.

[2]

Abstraccin: En qu consiste la abstraccin? Bueno, por decirlo


sencillamente, esta es
una cualidad de los seres humanos que les permite encontrar lo bsico que
hay de comn en una serie de objetos. Imaginmonos, por ejemplo, a un
nio frente a una cesta de fruta: aunque nunca antes hubiera visto esos
objetos, en muy poco tiempo podra separar las frutas del mismo tipo. El

nio pondra en un montoncito los pltanos, en otro las naranjas, en otro las
ciruelas, etc. Pero esto es una bobada!, podra exclamar el lector. Ni mucho
menos, seor lector! podra en derecho exclamar entonces yo. La cosa no es
nada fcil. Lo que ocurre es que como esta capacidad nos ha acompaado
siempre desde nios, no nos damos cuenta cuando la usamos. Es como
andar erguido sobre dos piernas: de fcil nada. Y si no que se lo
pregunenten a los elefantes del circo o a los fisilogos. Bien. En definitiva
por medio de la abstraccin conseguimos no pararnos en el detalle concreto
de las cosas (si una fruta tiene mayor o menor tamao, si tiene picaduras de
aves, etc.), pudiendo as generalizar y operar con "entes abstractos". O sea,
cuando decimos "a m me gustan las naranjas" no queremos decir que nos
gustan "todas" las naranjas, de cualquier tipo y en cualquier estado, sino que
indicamos que nos gusta el sabor, la textura, el aroma que por lo general
poseen las naranjas. Vemos, de esta manera, que el fenmeno de la
abstraccin consiste en la generalizacin conceptual de un determinado
conjunto de objetos y de sus atributos y propiedades, dejando en un
segundo trmino los detalles concretos de cada objeto. Qu se consigue
con la abstraccin? Bueno, bsicamente pasar del plano material (cosas que
se tocan) al plano mental (cosas que se piensan). Tambin hemos
conseguido volar, construir edificios, la receta de los canelonni Rossini, la
bomba de neutrones, etc. Pero qu tiene que ver esto con la OOP? Bien:
imaginemos una abstraccin sobre un grupo de tornillos. Una vez que
descubramos lo que distingue a un tornillo de otros objetos, podremos
reconocerlo con cierta facilidad en cualquier sitio, de forma que si
aprendemos a manejar un destornillador con un tornillo, lo podremos
manejar con cualquier otro, aunque todava no lo hayamos visto! Pensemos
ahora en la OOP: imaginemos que, de alguna forma, hemos podido inocular la
capacidad de abstraccin a un sistema software. Imaginemos
seguidamente que tal sistema rene las caractersticas bsicas y
funcionamiento de, por ejemplo, varias circuitos lgicos en una estructura
(que en C++ se llama class). Si codificamos sobre estas caractersticas
C++/OOP: UN ENFOQUE PRCTICO bsicas, en el momento en que
queramos introducir un circuito lgico
concreto, el trabajo ser mnimo o nulo. Bueno, ya iremos viviendo en carne
las ventajas de este fenmeno.[2]
Herencia: La herencia es un proceso mediante el cual un objeto puede adquirir
las propiedades de otro objeto.
[1]Polimorfismo: Significa que un nombre se puede utilizar para especificar
una clase genrica de acciones.

[2]

Mtodo.

Un mtodo consiste en la implementacin en una clase de un protocolo de


respuesta a los mensajes dirigidos a los objetos de la misma. La respuesta a
tales mensajes puede incluir el envo por el mtodo de mensajes al propio
objeto y aun a otros, tambin como el cambio del estado interno del objeto.
En C++ los mtodos estn implementados como DEFINICIONES de
funciones miembro de una clase, representando el conjunto de mensajes al
C++/OOP: que los objetos de tal clase pueden responder. Revisando el
ejemplo que examinbamos al hablar de "mensajes", podemos decir que la
respuesta al
mensaje "empezar la Proyeccin" podra significarse en la serie de
instrucciones tendentes a efectuar la accin de visionado de la pelcula: apagar
las luces, encender el proyector, etc. Estamos hablando, como el
lector habr adivinado, del cuerpo de la funcin miembro "empezarProyeccion

[4]

Atributos

Los atributos son las caractersiticas individuales que diferencian un objeto de


otro y determinan su apariencia, estado u otras cualidades. Los atributos se
guardan en variables denominadas de instancia, y cada objeto particular puede
tener valores distintos para estas variables.

Las variables de instancia tambin denominados miembros dato, son


declaradas en la clase pero sus valores son fijados y cambiados en el objeto.

Adems de las variables de instancia hay variables de clase, las cuales se


aplican a la clase y a todas sus instancias. Por ejemplo, el nmero de ruedas
de un automvil es el mismo cuatro, para todos los automviles.[4]

[4]

Las funciones miembro

En el lenguaje C++ las funciones miembro se declaran, se definen y se llaman.


En el lenguaje Java las funciones miembro o mtodos solamente se definen y
se llaman.

El nombre de las funciones miembro o mtodos comieza por letra minscula y


deben sugerir acciones (mover, calcular, etc.). La definicin de una funcin
tiene el siguiente formato:

tipo nombreFuncion(tipo parm1, tipo parm2, tipo parm3){


//...sentencias

}
Entre las llaves de apertura y cierre se coloca la definicin de la funcin. tipo
indica el tipo de dato que puede ser predefinido int, double, etc, o definido por
el usuario, una clase cualquiera.
Para llamar a un funcin miembro o mtodo se escribe

retorno=objeto.nombreFuncion(arg1, arg2, arg3);

Cuando se llama a la funcin, los argumentos arg1, arg2, arg3 se copian en los
parmetros parm1, parm2, parm3 y se ejecutan las sentencias dentro de la
funcin. La funcin finaliza cuando se llega al final de su bloque de definicin o
cuando encuentra una sentencia return.

Cuando se llama a la funcin, el valor devuelto mediante la sentencia return se


asigna a la variable retorno.

Cuando una funcin no devuelve nada se dice de tipo void. Para llamar a la
funcin, se escribe

objeto.nombreFuncion(arg1, arg2, arg3);


Una funcin suele finalizar cuando llega al final del bloque de su definicin

void funcion(....){
//sentencias...
}

Una funcin puede finalizar antes del llegar al final de su definicin

void funcion(....){
//sentencias...
if(condicion) return;
//sentencias..
}

Una funcin puede devolver un valor (un tipo de dato primitivo o un objeto).

double funcion(....){
double suma=0.0;
//sentencias...
return suma;
}

Cualquier variable declarada dentro de la funcin tiene una vida temporal,


existiendo en memoria, mientras la funcin est activa. Se trata de variables
locales a la funcin. Por ejemplo:

void nombreFuncion(int parm){


//...
int i=5;
//...
}

La variable parm, existe desde el comienzo hasta el final de la funcin. La


variable local i, existe desde el punto de su declaracin hasta el final del bloque
de la funcin.

Se ha de tener en cuenta que las funciones miembro tienen acceso a los


miembros dato, por tanto, es importante en el diseo de una clase decidir qu
variables son miembros dato, qu variables son locales a las funciones
miembro, y qu valores les pasamos a dichas funciones. Los ejemplos nos
ayudarn a entender esta distincin.

Hemos definido los atributos o miembros dato de la clase Rectangulo, ahora le


vamos aadir un comportamiento: los objetos de la clase Rectangulo o
rectngulos sabrn calcular su rea, tendrn capacidad para trasladarse a otro
punto del plano, sabrn si contienen en su interior un punto determinado del
plano.

La funcin que calcula el rea realizar la siguiente tarea, calcular el producto


del ancho por el alto del rectngulo y devolver el resultado. La funcin
devuelve un entero es por tanto, de tipo int. No es necasario pasarle datos ya
que tiene acceso a los miembros dato ancho y alto que guardan la anchura y la
altura de un rectngulo concreto.

class Rectangulo{
int x;
int y;
int ancho;
int alto;
int calcularArea(){
return (ancho*alto);
}
}
A la funcin que desplaza el rectngulo horizontalmente en dx, y verticalmente
en dy, le pasamos dichos desplazamientos, y a partir de estos datos
actualizar los valores que guardan sus miembros dato x e y. La funcin no
devuelve nada es de tipo void.

class Rectangulo{
int x;
int y;
int ancho;
int alto;
void desplazar(int dx, int dy){
x+=dx;
y+=dy;
}
}

La funcin que determina si un punto est o no en el interior del rectngulo,


devolver true si el punto se encuentra en el interior del rectngulo y devolver
false si no se encuentra, es decir, ser una funcin del tipo boolean. La funcin
necesitar conocer las coordenadas de dicho punto. Para que un punto de
coordenadas x1 e y1 est dentro de un rectngulo cuyo origen es x e y, y cuyas
dimensiones son ancho y alto, se deber cumplir a la vez cuatro condiciones

x1>x y a la vez x1<x+ancho

Tambin se debe cumplir

y1>y y a la vez y1<y+alto

Como se tienen que cumplir las cuatro condiciones a la vez, se unen mediante
el operador lgico AND simbolizado por &&.

class Rectangulo{
int x;
int y;
int ancho;
int alto;
boolean estaDentro(int x1, int y1){

if((x1>x)&&(x1<x+ancho)&&(y1>y)&&(y1<y+ancho)){
return true;
}
return false;
}
}

En el lenguaje Java, si la primera condicin es falsa no se evalan las restantes


expresiones ya que el resultado es false. Ahora bien, si la primera es verdadera
true, se pasa a evaluar la segunda, si sta el falsa el resultado es false, y as
sucesivamente.

[6]

Modularidad

La modularidad es la capacidad que tiene un sistema de ser estudiado, visto o


entendido como la unin de varias partes que interactan entre s y que
trabajan para alcanzar un objetivo comn, realizando cada una de ellas una
tarea necesaria para la consecucin de dicho objetivo. Cada una de esas
partes en que se encuentre dividido el sistema recibe el nombre de mdulo.
Idealmente un mdulo debe poder cumplir las condiciones de caja negra, es
decir, ser independiente del resto de los mdulos y comunicarse con ellos (con
todos o slo con una parte) a travs de unas entradas y salidas bien definidas.
Modularidad en Ciencias de la computacin es la caracterstica por la cual
un programa de computador est compuesto de porciones que se conocen
como mdulos. El diseo estructurado es la tcnica de diseo de algoritmos en
que se basa la programacin modular, paradigma de programacin que
persigue desarrollar programas modulares.

[7]

Herencia

La herencia es uno de los conceptos ms cruciales en la POO (Programacin


Orientada a Objetos). La herencia bsicamente consiste en que una clase
puede heredar sus variables y mtodos a varias subclases (la clase que hereda
es llamada superclase o clase padre). Esto significa que una subclase, aparte
de los atributos y mtodos propios, tiene incorporados los atributos y mtodos
heredados de la superclase. De esta manera se crea una jerarqua de
herencia. Por ejemplo, imaginemos que estamos haciendo el anlisis de un
Sistema para una tienda que vende y repara equipos celulares.

En el grfico vemos Clases ms que posiblemente necesitemos para crear


nuestro Sistema. Esas 2 Clases nuevas se construirn a partir de la Clase
Celular existente. De esa forma utilizamos el comportamiento de la
SuperClase.

[7]

Polimorfismo

En programacin orientada a objetos el polimorfismo se refiere a la posibilidad


de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser
heterognea. El nico requisito que deben cumplir los objetos que se utilizan de
manera polimrfica es saber responder al mensaje que se les enva.
La apariencia del cdigo puede ser muy diferente dependiendo del lenguaje
que se utilice, ms all de las obvias diferencias sintcticas.
La esencia del polimorfismo no atae a la clase o prototipo de la que provienen
los objetos. Aun as, en los lenguajes basados en clases, es habitual (y en
algunos tal vez sea el nico modo) que dichos objetos pertenezcan a subclases
pertenecientes a una misma jerarqua. Entonces, el polimorfismo debe verse
como una forma flexible de usar un grupo de objetos (como si fueran slo uno).

Podra decirse que el polimorfismo en esencia refiere al comportamiento de los


objetos, no a su pertenencia a una jerarqua de clases (o a sus tipos de datos).

S-ar putea să vă placă și