ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

CLASES C++

DanielBCRDocumentos de Investigación17 de Abril de 2016

5.530 Palabras (23 Páginas)222 Visitas

Página 1 de 23

Introducción:

En programación existen dos entes fundamentales: los datos y las operaciones que se realizan con los datos.

El conjunto de datos y operaciones se les conoce como clase. Una clase es un nuevo tipo de dato. De un tipo de dato podemos definir variables.

Conociendo todo tipo de variables podemos usar la programación estructurada, para mejorar la claridad, calidad y tiempo de desarrollo de un programa. Utilizando subrutinas y estructuras de secuencia, selección e iteración.

Definición de  clases y objetos en c++:

Una clase contiene tanto datos como funciones para manejarlos. En el momento que se crea una clase se está creando un nuevo tipo de dato, así como las operaciones que pueden desarrollarse con esos datos. Pero además es una forma de empaquetar datos y las funciones que utilizan los datos.

Una clase es sintácticamente similar a una estructura:

Formada

Llamadas

Uno o más elementos dato

Miembro dato

Ninguna o más de una función

Función miembro

                 

                       

Control de acceso a una clase:

Los miembros pueden ser visibles fuera de la clase si se definen como pública, o no visibles si se definen como privada.

  • La sección privada: Está oculta para los accesos desde fuera de la clase. Es como si se construyera un muro alrededor de los miembros de la clase para protegerlos de errores accidentales del resto del programa. Esta sección se marca con la palabra reservada private.
  •  La sección pública: Se tiene acceso desde el exterior de la clase. Esta sección se marca con la palabra reservada public.
  • La sección protegida: Los miembros (datos y funciones) que aquí se declaran son privados para el exterior, la palabra reservada protected.

Declaración de una clase - Interfaz de la clase:

Una clase puede ser declarada de tres formas:

1ª) Mediante la palabra struct. Todos los miembros son públicos.

2ª) Mediante la palabra union. Los miembros son públicos y los datos comparten espacio de memoria.

3ª) Mediante la palabra class. Esta es la forma usual de declarar clases. Los miembros son privados.

Class alumno {

        Int notas;

        String curso;

};

private[pic 1]

protected

public

Modos de acceso a miembros:

Definición de la clase - Implementación de la clase:

Dentro de la declaración de la clase se incluye además de los miembros dato (atributo), la declaración de la función miembro (métodos). La definición de los métodos se realiza fuera de la definición de la clase.

Ejemplo:

//Declaración de la clase

class fecha {int dia, mes, año;

void Iniciar (void);

void Fijar (int, int, int);

void Mostrar (void) ;}

Creación de objetos de una clase – Instanciación:

Si las clases las consideramos como nuevos tipos definidos por el usuario, los objetos serían como las “variables” que definimos de estos nuevos tipos. Una vez que se tiene declarada la clase, se pueden definir una o más instancias de ella, de la misma forma que se haría con los tipos estándar cuando definimos variables de los mismos.

El empleo de una función miembro se realiza poniendo el nombre del objeto, que se ha instanciado de la clase, seguido por el operador punto y el nombre de la función miembro.

Nombre del objeto. Función miembro ();

Clases vacías

El motivo de crear clases vacías no es otro que cuando se está desarrollando un proyecto de programación grande, se puede tener la necesidad de comprobar el funcionamiento adecuado de las primeras versiones, en las que algunas clases puede que no estén completamente acabadas, o incluso no estén empezadas. En estos casos se utilizan estas clases vacías para que el código compile sin errores y se pueda probar parte del código.

class Vector {};

Clases anidadas

Dentro de una declaración de una clase se puede tener declaraciones de otras clases. Una clase que se declara en el interior de otra clase se denomina clase anidada. Si una clase anidada se declara en la sección privada de la clase externa, la clase anidada será visible exclusivamente para las funciones miembro y para las funciones amigas.

class Externa {

public:

int i;

             class Interna {

                     public:

                      int x;

};

 };

Miembros dato o atributos

Los valores de los atributos se guardan en los miembros dato o variables de instancia. Los nombres de dichas variables comienzan por letra minúscula

Vamos a crear una clase denominada Rectangulo, que describa las características comunes a estas figuras planas que son las siguientes:

  • El origen del rectángulo: el origen o posición de la esquina superior izquierda del rectángulo en el plano determinado por dos números enteros x e y.
  • Las dimensiones del rectángulo: ancho y alto, otros dos números enteros.

class Rectangulo{

        int x;

        int y;

        int ancho;

        int alto;

}

Funciones miembro o métodos

Su cometido es llevar a cabo las acciones requeridas sobre los miembros dato de la clase. En la declaración de las clases aparecen los prototipos de sus funciones miembro. Estos prototipos siguen la misma sintaxis que los prototipos de las funciones que no son miembro de una clase. Es un hecho común definir las funciones miembro en un archivo de código separado al de la declaración de la clase.

La referencia de una función miembro dentro de la clase se hace utilizando simplemente el nombre de la misma. La referencia a una función miembro fuera de la clase, se realiza con el operador resolución de ámbito ::

        NombreClase::NombreMetodo        

Las ventajas de tener funciones miembro son dos:

  •  Aseguran que los objetos nunca tendrán valores sin sentido.
  • Estas funciones permiten que los cambios en la realización de la clase puedan hacerse de una forma más sencilla

Constructores y Destructores

Constructores:

Es una función miembro de la clase que reunirá un conjunto de instrucciones cuando crea un objeto.

Sus características son:

  • Tiene el mismo nombre que la clase.
  • Puede definirse inline o fuera de la declaración de la clase.
  • Pueden aceptar parámetros, los cuales puede definirse con valores por defecto.
  • Puede estar sobrecargado. Se puede declarar más de un constructor para una misma clase si todos ellos tienen diferente lista de argumentos.
  • No devuelven valores.
  • El constructor se ejecuta automáticamente cuando se crea un objeto de tipo clase. No se invoca nunca de forma explícita.

Constructores de copia:

Es aquel que crea un nuevo objeto e inicializándolo con datos de otro objeto ya creado

Se invocan cuando se realizan las siguientes acciones:

  • Asignaciones entre objetos.
  • Paso de parámetros-objeto por valor

Un constructor copia es creado automáticamente por el compilador si no se declara un constructor para la clase

Los constructores copia son importantes por:

  • Son el único medio para ser una copia de un objeto.
  • Se emplea cuando se pasan objetos por valor a una función.
  • Se emplea cuando una función devuelve un objeto.

Destructores:

Es una función miembro de la clase que reunirá un conjunto de instrucciones cuando destruye un objeto.

Sus características son:

  • El destructor de un objeto de evoca automáticamente cuando el programa sale del alcance del objeto.
  • El destructor también se llama automáticamente cuando se aplica el operador delete a un puntero.
  • No puede tener parámetros.
  • No devuelve valores.
  • Puede definirse inline.
  • El destructor se puede declarar en la sección publica

Funciones miembro que retornan una referencia

En ocasiones en C++ se puede ver clases que declaran funciones miembro que retornan referencia a miembros de dato privado, es decir, los están convirtiendo en publico.

...

Descargar como (para miembros actualizados) txt (25 Kb) pdf (218 Kb) docx (26 Kb)
Leer 22 páginas más »
Disponible sólo en Clubensayos.com