Escolar Documentos
Profissional Documentos
Cultura Documentos
Ing. Mecatrnica
Programacin orientada a objetos
Laurean Soto Jesus Alberto
Ing. Lopez Macas Cesar Armando
M51
14440170
19/08/2016
PROGRAMACIN ORIENTADA A OBJETOS
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
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.
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]
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]
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.
[4]
Atributos
[4]
}
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
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 una funcin no devuelve nada se dice de tipo void. Para llamar a la
funcin, se escribe
void funcion(....){
//sentencias...
}
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;
}
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;
}
}
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;
}
}
[6]
Modularidad
[7]
Herencia
[7]
Polimorfismo