programación orientada a objetos usando c++ las clases en c++
TRANSCRIPT
![Page 1: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/1.jpg)
Programación Orientada a Objetos
usando C++
LAS CLASES EN C++
![Page 2: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/2.jpg)
2
TÓPICOS
Clases Especificadores de accesoMétodos – Mensajes - InterfazPrototipoConstructores - DestructoresSobrecarga de funciones
![Page 3: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/3.jpg)
3
Ejercicios
FracciónCuenta CorrienteVendedorAlumnoComplejos
![Page 4: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/4.jpg)
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>
};
![Page 5: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/5.jpg)
5
Ejemplo
class Uno{private:
int k;float x;
public:procedim(int x);int funcion();
};Uno a, *b;
![Page 6: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/6.jpg)
6
Ejemplo
class Empleado{private:
char *nom;char *app;float sueldo;
public:void Imprimir_Datos();float Mostrar_Sueldo();
};
![Page 7: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/7.jpg)
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
![Page 8: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/8.jpg)
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)
![Page 9: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/9.jpg)
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}
![Page 10: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/10.jpg)
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:
![Page 11: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/11.jpg)
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.
![Page 12: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/12.jpg)
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)
![Page 13: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/13.jpg)
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();
![Page 14: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/14.jpg)
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.
![Page 15: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/15.jpg)
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:
![Page 16: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/16.jpg)
16
Mensajes
Equivalente 0,333
f
13
Listar()
Numerador()
Denominador()
Equivalente()
![Page 17: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/17.jpg)
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
![Page 18: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/18.jpg)
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(); :
}
![Page 19: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/19.jpg)
19
Constructores por defecto
No poseen argumentos, o
Los argumentos tienen valores asignados.
Fracción f;Fraccion()
Fraccion(int x=0,int y=1)
![Page 20: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/20.jpg)
20
Clase Fracciónclass Fraccion
{public: Fraccion();
Fraccion(int,int);
void Listar();
int Numerador();
int Denominador();
float Equivalente();
private:
int num;
int den;
}
![Page 21: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/21.jpg)
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
![Page 22: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/22.jpg)
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:
![Page 23: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/23.jpg)
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.
![Page 24: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/24.jpg)
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
![Page 25: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/25.jpg)
Ejemplos a desarrollar
![Page 26: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/26.jpg)
26
Ejemplo 1: Cta. Cte
Una cuenta corriente se puede representar por :
Saldo
Operaciones como:
Depositar(cantidad)
Girar(cantidad)
Saldo()
![Page 27: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/27.jpg)
27
Ejemplo 2: Vendedor
Registro sobre sus ventas mensuales.
Crear un vendedor. Inicializa las ventas mensuales.
Registrar las ventas mensuales.
Desplegar la venta anual
![Page 28: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/28.jpg)
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
![Page 29: Programación Orientada a Objetos usando C++ LAS CLASES EN C++](https://reader036.vdocuments.co/reader036/viewer/2022081507/551cf39e550346357a8b54ff/html5/thumbnails/29.jpg)
29
Ejemplo 4: Complejos
Parte real Parte imaginaria
e=5+3i