Empezando con c++

Solo disponible en BuenasTareas
  • Páginas : 5 (1218 palabras )
  • Descarga(s) : 0
  • Publicado : 14 de febrero de 2011
Leer documento completo
Vista previa del texto
PROGRAMACIÓN ORIENTADA A OBJETOS CON C++

¡o cómo aprender C++ en 1 hora!
sin que se note que realmente está escribiendo en C

Enrique Alba Torres Andrés Rubio del Río

Programación orientada a objetos con C++

PROGRAMACIÓN ORIENTADA A OBJETOS (POO) CON C++
1. TÉRMINOS Y CONCEPTOS DE POO
El esquema tradicional de un programa, independientemente del lenguaje que se utilice, estácompuesto por una secuencia de sentencias, más o menos agrupadas en rutinas o funciones, que van operando sobre una información contenida en campos o variables. El problema de esta estructura estriba en que ni las sentencias tienen un control de las variables con las que trabajan, ni estas variables están relacionadas en forma alguna con las sentencias que habrán de tratarlas. ¿Cómo puede la POOayudarnos?

1.1. ¿Qué Significa POO?
La filosofía de la POO (Object Oriented Programming, Programación Orientada a Objetos) rompe con este esquema, dando lugar a una nueva idea, el objeto. El objeto es una abstracción en la que se unen sentencias y datos, de tal forma que a un objeto sólo lo van a poder tratar los métodos definidos para él, y estos métodos están preparados para trabajarespecíficamente con él. Este grado de compenetración evita que un método pueda tratar datos no apropiados, o bien que unos datos puedan ser tratados por un método no adecuado, ya que la llamada a cualquier método ha de ir siempre precedida del objeto sobre el que se quiere actuar, y éste sabe si ese método se ha definido o no para él. C++ es un lenguaje que contiene estos y otros conceptos de POO. Enterminología POO, cuando se quiere ejecutar un método (función) sobre un objeto, se utiliza un mensaje que se envía al objeto, de tal forma que el objeto llame al método y éste sepa qué objeto lo ha llamado.

1.2. Encapsulación
Este concepto permite tener un control de acceso selectivo tanto a los miembros como a los métodos, de tal forma que desde fuera del objeto sólo se pueda acceder a los métodos eidentificadores que permita el creador del objeto.

1.3. Herencia
Permite la reutilización y la extensión del código. Permite diseñar nuevas clases a partir de otras ya existentes, pudiendose además extender sus métodos (cambiar su semántica en la clase que hereda). ‰ Ej. Pilas y Colas.

1

Programación orientada a objetos con C++

1.4. Polimorfismo
Permite tratar de forma genérica objetosde distintas clases, ahorrando así código y proporcionando simplicidad. Por tanto, trata de forma genérica objetos de distintos tipos derivados de una misma clase de objetos.

1.5. Constructores y Destructores
Un constructor es un método que se ejecuta automáticamente cuando se define o se crea un objeto, y su función es inicializar el objeto y prepararlo para realizar las operacionesnecesarias. Un destructor es un método que se ejecuta automáticamente cuando un objeto queda fuera del ámbito en el que se creó, y su función es destruir el objeto, liberando cualquier asignación dinámica de memoria que se haga. El objeto puede tener o no definidos explícitamente el constructor y el destructor, o tener varios constructores.

2. POO CON C++
2.1. Clases
Una clase es una definición deoperaciones que se define una vez en algún punto del programa, pero normalmente se define en un archivo cabecera, asignándole un nombre que se podrá utilizar más tarde para definir objetos de dicha clase. Las clases se crean usando la palabra clave class, y su sintaxis es la siguiente:
class Nombre_de_la_Clase { Definición_de_Datos; Prototipos_y_métodos; };

Nota: Muy importante no olvidar elpunto y coma final. Cuando deseemos crear un objeto de una clase definida lo que haremos será lo siguiente:
Nombre de la Clase Nombre del Objeto; Punto p1,p2; // Creación de dos objetos // de la clase Punto

2

Programación orientada a objetos con C++

También se pueden definir apuntadores a objetos de la siguiente forma:
Nombre de la Clase *Nombre del Objeto; Punto p1,p2; // Creación de...
tracking img