Professional Documents
Culture Documents
1. Definicin de Clase y Objeto ............................................................................................. 3 1.1. 1.2. 2. Clase .......................................................................................................................... 3 Objeto ....................................................................................................................... 3
Definicin de Atributo y Mtodo ...................................................................................... 3 2.1. 2.2. Atributo ..................................................................................................................... 3 Mtodo ..................................................................................................................... 3
3.
Herencia ............................................................................................................................ 4 3.1. 3.2. Herencia Simple ........................................................................................................ 4 Herencia Mltiple ..................................................................................................... 4
4.
5. 6. 1. 2. 3. 4. 5. 6.
Polimorfismo ..................................................................................................................... 5 Sobrecarga de Mtodos .................................................................................................... 5 Ejemplo Clase .................................................................................................................... 6 Ejemplo Objeto ................................................................................................................. 8 Ejemplo Herencia Simple .................................................................................................. 8 Ejemplo Herencia Mltiple ............................................................................................... 9 Ejemplo Abstraccin ....................................................................................................... 11 Ejemplo Sobrecarga de Mtodos .................................................................................... 13
Introduccin
Hola a todos, en este pequeo tutorial que tratar de ser lo ms entendible y sencillo posible para entender conceptos sobre la Programacin Orientada a Objetos, revisndolo de forma terica y con implementacin de sencillas aplicaciones. La dinmica que trabajaremos ser conceptualizar los trminos de acuerdo a como se definen tcnicamente, y a los cuales agregar la forma en cmo los entiendo segn mi punto de vista.
Se pueden encontrar muchos tutoriales por toda la Red sobre este tema, pero como les digo en este tratar de que quede lo ms entendible, hablando en un lenguaje muy natural.
Acerca del IDE, o plataforma a usar, pues hay muchas BorlandC++, DevCpp, Netbeans, por nombrar algunos. Para nuestro caso, vamos a usar el IDE Dev-Cpp (http://s3.amazonaws.com/00001-all-ES/devcpp-
4.9.9.2_setup.exe). Y hablando ya pues particularmente me gusta mucho el Netbeans y el Dev-Cpp. Para los que deseen emplear Netbeans, habr que incorporarle el plugin (Herramienta) de C/C++ que proveen.
1.1. Clase
Definicin Tcnica: Es una representacin real de un TDA. Define atributos y mtodos que implementa la estructura de datos. La Defino: Define el modelo que van a seguir los Objetos que se instancien de ella. Define comportamientos y caractersticas que van a tener los objetos. Ver Ejemplo.
1.2. Objeto
Definicin Tcnica: Un objeto es una instancia de una clase. Puede ser identificado en forma nica por su nombre, el cul es representado por los valores de sus atributos en un momento en particular. Lo Defino: Al ser una instancia de una clase, es el que decide cmo se va a comportar de acuerdo a lo que le haya definido la clase. Ver Ejemplo.
2.2. Mtodo
Definicin Tcnica: Definen el comportamiento de los objetos de una clase, es un conjunto de instrucciones que realizan una determinada tarea y son similares a las funciones de los lenguajes estructurados. Lo Defino: Adems de dar la posibilidad de comportamiento a los objetos, son muy usados tambin para ir separando cdigo que es muy extenso y en la definicin de la clase se note mayor orden y quede ms entendible. Y con esto ir dando pasos a la modularidad y reusabilidad.
3. Herencia
Definicin Tcnica: Es el mecanismo que permite que una clase A herede propiedades de una clase B. Se Dice que "A hereda de B". Objetos de la clase A tienen as acceso a los atributos y mtodos de la clase B sin necesidad de redefinirlos. La Defino: Es un proceso por el que se crean unas clases a partir de otra(s) que ya existe(n), pensando sobre todo en la reutilizacin de cdigo. Otra cosa que se tiene es que las clases que heredan (subclases, clases hijas) son ms completas y especficas que las superclases o clases padre. Esto se da mucho cuando se nota que en una clase se usan muchas caractersticas y comportamientos de otra(s), entonces se opta por usar Herencia.
4. Abstraccin
Definicin Tcnica: Una clase A se llama clase abstracta si es usada solamente como una superclase para otras clases. La Clase A solamente especifica propiedades. No se usa para crear objetos. Las clases derivadas deben definir las propiedades de A. La Defino: El concepto es precisamente lo que se dice en la anterior definicin, pero ya explicndolo un poco mejor, sera algo as: Es la capacidad que tienen las clases para ocultar informacin acerca del comportamiento y propiedades que van a tener las clases que hereden de ella. Ver Ejemplo.
4.1. Caractersticas Las clases abstractas pueden implementar o no mtodos. Cuando no los implementan, estos son abstractos. Las clases abstractas no se pueden instanciar directamente, slo pueden ser heredadas. Las clases que heredan de una clase abstracta, son las que deben implementar los mtodos abstractos que stas posean.
5. Polimorfismo
Definicin Tcnica: Capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en funcin de los parmetros utilizados durante su invocacin. Un objeto polimrfico es una entidad que puede contener valores de diferentes tipos durante la ejecucin del programa. Dicho de otra forma, el polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objeto de cualquiera de sus subclases. Lo Defino: Enfocado en el ltimo punto de la Definicin Tcnica, a travs del manejo de herencia se puede llegar a poner en prctica este concepto. Ya que es como lo definen: conseguir que un objeto de una clase se comporte como cualquiera de sus subclases
6. Sobrecarga de Mtodos
Definicin Tcnica: Se refiere a la posibilidad de tener dos o ms funciones con el mismo nombre pero funcionalidad diferente. Es decir, dos o ms funciones con el mismo nombre realizan acciones diferentes. El compilador usar una u otra dependiendo de los parmetros usados. La Defino: Me parece que la definicin anterior queda muy clara. Le agregara, que para diferenciar estos mtodos o funciones, se realiza con el cambio en la firma del mtodo (que se refiere al uso de diferentes parmetros). Ver Ejemplo.
EJEMPLOS
1. Ejemplo Clase
Imagen 1 Persona.h
2. Ejemplo Objeto
Imagen 4 Ppal.cpp
Imagen 5 Adulto.h
Imagen 6 Infante.h
Imagen 7 PuntoB.cpp
Imagen 8 C1.cpp
Imagen 9 C2.cpp
Imagen 10 D.cpp
5. Ejemplo Abstraccin
Imagen 11 Cuenta.h
Imagen 12 CuentaDeAhorros.cpp
Imagen 13 CuentaCorriente.cpp
Imagen 14 Cuenta.h
Imagen 15 Cuenta.cpp
Imagen 16 Ppal.cpp