MI PRIMER PROYECTO

miércoles, 25 de marzo de 2009

MI PRIMER PROYECTO EN VISUAL STUDIO 2008

Este pequeña aplicacion pretende servir como una pequeña guía de iniciación al manejo de Visual Studio .NET 2008 para aquellos estudiantes que se enfrenten a este entorno de desarrollo por vez primera, con poca o nula experiencia previa en C/C++ o limitada experiencia en programación en entornos de desarrollo similares.

VILLAMIZAR M. Jazmin Eliana. Fundamentos de Orientacion a Objetos. Universidad Cooperativa de Colombia seccional Bucaramanga 2009 o en el cd de la tesis en la ruta cd de PROGRAMACION\VIDEOS BLOGGER PROGRAMACION.

HERENCIA


HERENCIA
Una de las principales propiedades de las clases es la herencia. Esta propiedad nos permite crear nuevas clases a partir de clases existentes, conservando las propiedades de la clase original y añadiendo otras nuevas.

VILLAMIZAR M. Jazmin Eliana. HERENCIA. Universidad Cooperativa de Colombia seccional Bucaramanga 2009 o en el cd de la tesis en la ruta cd de PROGRAMACION\VIDEOS BLOGGER PROGRAMACION

POLIMORFISMO

miércoles, 18 de marzo de 2009

POLIMORFISMO

En programación orientada a objetos se denomina polimorfismo a la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad que puede contener valores de diferentes tipos durante la ejecución del programa.

El concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. Así nacen los conceptos de funciones polimórficas y tipos polimórficos.
Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado.
El siguiente video toma un ejemplo mas claro del manejo de polimorfismo en c++

VILLAMIZAR M. Jazmin Eliana. Polimorfismo. Universidad Cooperativa de Colombia seccional Bucaramanga 2009 o en el cd de la tesis en la ruta cd de PROGRAMACION\VIDEOS BLOGGER PROGRAMACION

OPERADORES DE MANEJO DE MEMORIA

NEW Y DELETE

Veremos su uso en el capítulo de punteros II y en mayor profundidad en el capítulo de clases y en operadores sobrecargados.

Operador new:
El operador new sirve para reservar memoria dinámica.


Sintaxis:




El operador opcional :: está relacionado con la sobrecarga de operadores, de momento no lo usaremos. Lo mismo se aplica a emplazamiento.

La inicialización, si aparece, se usará para asignar valores iniciales a la memoria reservada con new, pero no puede ser usada con arrays.

Las formas tercera y cuarta se usan para reservar memoria para arrays dinámicos. La memoria reservada con new será válida hasta que se libere con delete o hasta el fin del programa, aunque es aconsejable liberar siempre la memoria reservada con new usando delete. Se considera una práctica muy sospechosa no hacerlo.
Si la reserva de memoria no tuvo éxito, new devuelve un puntero nulo, NULL.
Operador delete:
El operador delete se usa para liberar la memoria dinámica reservada con new.
Sintaxis



La expresión será normalmente un puntero, el operador delete[] se usa para liberar memoria de arrays dinámicas.
Es importante liberar siempre usando delete la memoria reservada con new. Existe el peligro de pérdida de memoria si se ignora esta regla.

Cuando se usa el operador delete con un puntero nulo, no se realiza ninguna acción. Esto permite usar el operador delete con punteros sin necesidad de preguntar si es nulo antes.
Nota: los operadores new y delete son propios de C++. En C se usan las funciones malloc y free para reservar y liberar memoria dinámica y liberar un puntero nulo con free suele tener consecuencias desastrosas.


Ejemplo








PROGRAMACION ORIENTADA A OBJETOS

martes, 3 de marzo de 2009

PROGRAMACION ORIENTADA A OBJETOS EN C++
El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje clásico, muy extendido en la programación de sistemas. Se trata de una extensión del lenguaje C que presenta claras influencias del lenguaje Simula, que a su vez puede considerarse como el precursor de los lenguajes POO.


Conceptos de POO y definiciones bases: "SERGIO FERNANDO SPANZAY, DIEGO ALEJANDRO CASTELLANOS, email litunchez@gmail.com,
http://www.youtube.com/watch?v=EVKYJGnj42M, en el cd de la tesis en la ruta CD DE PROGRAMACION\VIDEOS BLOGGER PROGRAMACION


CLASES Y OBJETOS EN C++
La clase es la fundación de C++ para el soporte de la programación orientada a objetos, y se encuentra en el núcleo de muchas de sus más avanzadas características. La clase es la unidad básica de C++ de la encapsulación y esta provee el mecanismo por el cual los objetos son creados.
En este tutorial el estudiante podra afianzar contextos sobre el uso de clases y objetos en c++.
Clases y Objetos Definiciones.. " HECTOR ALVAREZ POL, en el cd de la tesis en la ruta CD DE PROGRAMACION\VIDEOS BLOGGER PROGRAMACION

FUNDAMENTOS DE ORIENTACION A OBJETOS


VILLAMIZAR M. Jazmin Eliana. Fundamentos de Orientacion a Objetos. Universidad Cooperativa de Colombia seccional Bucaramanga 2009 o en el cd de la tesis en la ruta cd de PROGRAMACION\VIDEOS BLOGGER PROGRAMACION

Esta pequeña presentacion se muestran los diferentes conceptos de la POO asi como ejemplo y manejo de cada concepto.

USO DE HERRAMIENTAS IDE DE VISUAL C++
VILLAMIZAR M. Jazmin Eliana. Fundamentos de Orientacion a Objetos. Universidad Cooperativa de Colombia seccional Bucaramanga 2009 o en el cd de la tesis en la ruta cd de PROGRAMACION\VIDEOS BLOGGER PROGRAMACION


METODOS DE CLASES CONSTRUCTORES Y DESTRUCTORES

Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara.

Los constructores tienen el mismo nombre que la clase, no retornan ningún valor y no pueden ser heredados. Además deben ser públicos, no tendría ningún sentido declarar un constructor como privado, ya que siempre se usan desde el exterior de la clase, ni tampoco como protegido, ya que no puede ser heredado.

Si una clase posee constructor, será llamado siempre que se declare un objeto de esa clase, y si requiere argumentos, es obligatorio suministrarlos.

Por ejemplo, las siguientes declaraciones son ilegales:

pareja par1;
pareja par1();
La primera porque el constructor de "pareja" requiere dos parámetros, y no se suministran.

La segunda es ilegal por otro motivo más complejo. Aunque existiese un constructor sin parámetros, no se debe usar esta forma para declarar el objeto, ya que el compilador lo considera como la declaración de un prototipo de una función que devuelve un objeto de tipo "pareja" y no admite parámetros. Cuando se use un constructor sin parámetros para declarar un objeto no se deben escribir los paréntesis.

Y las siguientes declaraciones son válidas:

pareja par1(12,43);
pareja par2(45,34);

Cuando no especifiquemos un constructor para una clase, el compilador crea uno por defecto sin argumentos. Por eso el ejemplo del capítulo anterior funcionaba correctamente. Cuando se crean objetos locales, los datos miembros no se inicializarían, contendrían la "basura" que hubiese en la memoria asignada al objeto. Si se trata de objetos globales, los datos miembros se inicializan a cero.

Para declarar objetos usando el constructor por defecto o un constructor que hayamos declarado sin parámetros no se debe usar el paréntesis:

pareja par2();
Se trata de un error frecuente cuando se empiezan a usar clases, lo correcto es declarar el objeto sin usar los paréntesis:

pareja par2;
Los destructores son funciones miembro especiales que sirven para eliminar un objeto de una determinada clase, liberando la memoria utilizada por dicho objeto.

Los destructores tienen el mismo nombre que la clase, pero con el símbolo ~ delante, no retornan ningún valor y no pueden ser heredados.

Cuando se define un destructor para una clase, éste es llamado automáticamente cuando se abandona el ámbito en el que fue definido. Esto es así salvo cuando el objeto fue creado dinámicamente con el operador new, ya que en ese caso, si es necesario eliminarlo, hay que usar el operador delete.

En general, será necesario definir un destructor cuando nuestra clase tenga datos miembro de tipo puntero, aunque esto no es una regla estricta. El destructor no puede sobrecargarse, por la sencilla razón de que no admite argumentos.

BIBLIOTECAS DIGITALES
proquest (Acceso local y para acceso remoto – Login y Clave: COOPERATIVA
e-library (Acceso local y para acceso remoto Login y Clave: la cedula)