programación orientada a objetos usando c++ las clases en c++

Post on 02-Apr-2015

130 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programación Orientada a Objetos

usando C++

LAS CLASES EN C++

2

TÓPICOS

Clases Especificadores de accesoMétodos – Mensajes - InterfazPrototipoConstructores - DestructoresSobrecarga de funciones

3

Ejercicios

FracciónCuenta CorrienteVendedorAlumnoComplejos

4

Estructura de una clase

class <nombre>{private:

<datos privados><métodos privados>

public:<datos públicos><método públicos>

protected:<datos protegidos><método protegidos>

};

5

Ejemplo

class Uno{private:

int k;float x;

public:procedim(int x);int funcion();

};Uno a, *b;

6

Ejemplo

class Empleado{private:

char *nom;char *app;float sueldo;

public:void Imprimir_Datos();float Mostrar_Sueldo();

};

7

Conceptos

Especificador de acceso:public:private:protected:

Ningún miembro podrá ser objeto de la clase que está siendo declarada.

Ningún miembro puede declararse como:autoexternregister

8

Atributos de control de accesos

public:

protected:

private:

usuarios en general FM o FM de clases derivadas

Sólo FM o amigas

FM: Funciones Miembro

(Métodos)

FM: Funciones Miembro

(Métodos)

9

Métodos

Los métodos se pueden implementar:

a. Dentro de la declarativa de la clase

b. A continuación de la declarativa de la clase

Tipo Nombre_Clase::Método(parámetros)

{sentencias}

Tipo Método(parámetros)

{sentencias}

10

Método: Constructor

Se invoca automáticamente al declarar un objeto de la clase.

Método con el mismo nombre de la clase

inicializar un objeto Propósito explícito:

11

Método: Constructor

Único medio para inicializar un objeto.

Cuando una clase tiene un constructor TODOS los objetos de dicha clase son inicializados.

NO se puede invocar directamente.

12

Mensaje

Mecanismo por el cual el usuario solicita a un objeto que realice alguna acción.

El objeto, si reconoce el mensaje, activa el método adecuado en respuesta al mensaje.

objeto.método_público(argumentos)

13

Interfaz

Mecanismo por el cual un objeto puede comunicarse con su medio.

Está formada por todos los métodos públicos de la clase.

public: Fraccion();

void Listar();

int Numerador();

int Denominador();

float Equivalente();

14

Ejemplo1: Fracción

Numerador Denominador != 0 Ambos enteros Crear una fracción con datos desde el teclado Conocer su numerador Conocer su denominador Obtener su equivalente real.

15

Objetos: tipo Fracción

yx

num: 5

den: 7

Listar()

Numerador()

Denominador()

Equivalente()

f:num: 1

den: 2

Listar()

Numerador()

Denominador()

Equivalente()

f1:num: 3

den: 8

Listar()

Numerador()

Denominador()

Equivalente()

f2:

16

Mensajes

Equivalente 0,333

f

13

Listar()

Numerador()

Denominador()

Equivalente()

17

Clase Fracción

class Fraccion {public:

Fraccion();

void Listar();

int Numerador();

int Denominador();

float Equivalente();

private:

int num;

int den;

}

Constructor

Métodos

Variables miembros

18

Sobrecarga de funciones Igual nombre de funciones Se diferencian en :

La cantidad de parámetros y Tipo de dato de los parámetros.

class Fraccion {public:

Fraccion(); Fraccion(int,int);

void Listar();

int Numerador(); :

}

19

Constructores por defecto

No poseen argumentos, o

Los argumentos tienen valores asignados.

Fracción f;Fraccion()

Fraccion(int x=0,int y=1)

20

Clase Fracciónclass Fraccion

{public: Fraccion();

Fraccion(int,int);

void Listar();

int Numerador();

int Denominador();

float Equivalente();

private:

int num;

int den;

}

21

Uso clase Fracción

void main()

{Fraccion f;

Fraccion g(2,3);

f.Listar();

cout<<f.Numerador();

cout<<"Equivalente de: "<<endl;

cout<<f.Numerador()<<" /" <<f.Denominador() <<": ";

cout<<f.Equivalente()<<endl;

cout<<g.Numerador()<<" /" <<g.Denominador() <<": ";

cout<<g.Equivalente()<<endl;}

ConstructoresConstructores

Mensaje

22

Creación de objetos

Fraccion f1;

x = f1. Numerador( );

Estático:

Fraccion *f1;f1 = new Fraccion( );

x = (*f1).Numerador( );

x = f1->Numerador();

Dinámico:

23

Destructores

Invocación: Se llama en forma implícita cuando una variable está fuera de su alcance o ámbito. (bloque en el que fue declarada).

Utilidad: Liberar recursos solicitados por el constructor. Objeto en el heap: se destruye con el operador

delete.

No se requiere implementar si no se utiliza almacenamiento dinámico como parte del objeto.

24

Ejemplo: Fracciónvoid main(){int n,d;

Fraccion f1;f1.Imprimir();

cout<<f1.Equivalente()<<endl;do

{cout<<"Numerador : "; cin>>n; cout<<"Denominador: "; cin>>d; if (d!=0)

{ Fraccion f2(n,d); f2.Imprimir();

cout<<f2.Equivalente()<<endl; }

}while (d!=0);}

//Se crea el objeto f1

//Creación de f2

//Destrucción f1

//Destrucción f1

Ejemplos a desarrollar

26

Ejemplo 1: Cta. Cte

Una cuenta corriente se puede representar por :

Saldo

Operaciones como:

Depositar(cantidad)

Girar(cantidad)

Saldo()

27

Ejemplo 2: Vendedor

Registro sobre sus ventas mensuales.

Crear un vendedor. Inicializa las ventas mensuales.

Registrar las ventas mensuales.

Desplegar la venta anual

28

Ejemplo 3: Alumno

Registro sobre sus datos generales

Realizar inscripción de una asignatura Realizar un registro de nota de asignatura

aprobada. Listar información general del alumno Listar asignaturas inscritas. Listar asignaturas aprobadas

29

Ejemplo 4: Complejos

Parte real Parte imaginaria

e=5+3i

top related