• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Clases
 

Clases

on

  • 1,637 views

 

Statistics

Views

Total Views
1,637
Views on SlideShare
1,637
Embed Views
0

Actions

Likes
0
Downloads
22
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Clases Clases Presentation Transcript

    • P rogramación O rientada a O bjetos 30 de Marzo de 2009
      • Definición de Clases
      • Cada clase contiene :
      • Datos ( datos miembro o campos), los cuales especifican las propiedades de los objetos.
      • Funciones ( funciones miembro o métodos), mediante los cuales se modela su comportamiento y las acciones que puede realizar.
    • 1 // Declaración de una clase 2 class MiClase 3 { 4 // Declaración de datos miembro 5 // Declaración de métodos 6 }; Un ejemplo de esto se puede apreciar en el siguiente fragmento de código:
    • En la declaración de una clase, para cada dato miembro, debe especificarse mediante los modificadores de acceso el ámbito desde el cual puede accederse a dicho miembro. Éstos son:
    • · Private: Sólo se permite su acceso desde los métodos de la clase. · Public: Se permite su acceso desde cualquier punto que pueda usar la clase. Un dato público es accesible desde cualquier objeto de la clase. · Protected: Se permite su uso en los métodos de la clase y en los de las clases derivadas mediante herencia.
      • 2. Constructores y Destructores
      • Características de los constructores:
      • Cuando se crea un objeto de una clase siempre se llama automáticamente a un constructor.
      • Se emplea para iniciar los objetos de una clase.
      • Es particularmente útil para reservar, si es necesario, memoria para ciertos campos del objeto.
      • Pueden haber varios constructores para una clase.
      • Un constructor tiene el mismo nombre que la clase en la que está declarado y no devuelve nada.
      • Cuando no se define ningún constructor en una clase, el compilador crea un constructor por defecto, sin argumentos, que inicia los datos miembros a cero.
      • Características de los destructores:
      • Sólo hay un destructor para una clase.
      • Cuando un objeto deja de existir siempre se llama automáticamente al destructor.
      • Un destructor tiene el mismo nombre de la clase, precedido por el carácter “~”.
      • El destructor no admite parámetros ni devuelve ningún valor.
      • Si no se especifica, el compilador proporciona un destructor por defecto. Su implementación tiene sentido sólo cuando el constructor ha reservado memoria dinámicamente.
    • Un ejemplo de esto se puede apreciar en el siguiente fragmento de código: 1 class MiClase 2 { 3 public: 4 int *arreglo; 5 6 // Constructor 7 8 MiClase () 9 { 10 arreglo = new int[10]; 11 } 12 13 // Destructor 14 15 ~MiClase () 16 { 17 delete [] arreglo; 18 } 19 };
    • 3. Métodos Características de la declaración de los métodos: · Se declaran como cualquier función en C++. · Se especifican los prototipos de los métodos en la declaración de la clase. Su implementación puede ser dentro de la declaración de la clase o en un archivo .cpp
      • Es usual disponer de métodos públicos que modifican y/o leen el valor de los datos privados.
      • Pueden definirse funciones privadas que pueden ser de utilidad (funciones auxiliares) para las funciones públicas.
    • El apuntador this es una variable predefinida en todas las funciones o métodos miembro de una clase. Contiene la dirección del objeto concreto de la clase sobre la cual se está aplicando la función u operador miembro. Al ser apuntador, el acceso a los miembros del objeto se realizará con el operador flecha (->).
    • 4. Instanciación
      • Un objeto se puede crear de dos formas:
      • Estática (el objeto existe mientras no se pierda alcance sobre él).
      • Sintaxis:
      • Nombre_de_clase variable_del_objeto;
      • Dinámica (el objeto se crea en memoria dinámica, y existe mientras no sea eliminado explícitamente de ésta).
      • Sintaxis:
      • Nombre_de_clase *apuntador_al_objeto;
      • apuntador_al_objeto = new Nombre_de_clase;