Upload
ramiro-estigarribia-canese
View
139
Download
6
Embed Size (px)
Citation preview
8.Clases y objetos en C++Un análisis más detallado
Ramiro Estigarribia Canese
¿Qué es una Clase?➔ La programación orientada a objetos se basa en las
clases.➔ Una clase es un molde del que luego se pueden
crear múltiples objetos, con similares características.
➔ Una clase es una plantilla (molde), que define atributos (variables) y métodos (funciones).
➔ La clase define los atributos y métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores.
Estructura de una ClaseDebemos crear una clase antes de poder crear objetos (instancias) de esa clase. Al crear un objeto de una clase, se dice que se crea una instancia de la clase o un objeto.
La estructura de una clase es:class [nombre de la clase] { [atributos o variables de la clase] [métodos o funciones de la clase]}
1.Clase Persona.#include <iostream>using namespace std;class Persona {public:char Nombre[30];int Edad;void inicializar() {cout <<"Ingrese Nombre y Edad"<<endl;cin >> Nombre >> Edad;}void imprimir() {cout << "Nombre:" << Nombre << endl ;cout << "Edad:" << Edad << endl;}
void EsMayor() {if (Edad>=18)cout <<"Es Mayor de Edad";elsecout <<"Es Menor de Edad";}};int main(){Persona UnaPersona;UnaPersona.inicializar();UnaPersona.imprimir();UnaPersona.EsMayor();return 0;}
Bajar Código Aquí
Clase Triángulo Equilátero.
//2.Lados de un triángulo.//Identifica el lado Mayor.//Identifica si es Equilátero.#include <iostream>
using namespace std;class Triangulo {public:int lado1,lado2,lado3;
void inicializar() {cout << "Medida lado 1:";cin >> lado1;cout << "Medida lado 2:";cin >> lado2;cout << "Medida lado 3:";cin >> lado3;}
void ladoMayor() {cout << "Lado mayor:";if (lado1>lado2 && lado1>lado3)cout << lado1;else if (lado2>lado3)cout << lado2;else cout << lado3; }
void esEquilatero() {if (lado1==lado2 && lado1==lado3)cout << "\nEs equilátero";elsecout << "\nNo es equilátero"; }};
int main() {Triangulo triangulo1;triangulo1.inicializar();triangulo1.ladoMayor();triangulo1.esEquilatero();return 0; }
2.Clase Triángulo. Bajar Código: https://paste.ee/p/lLDEa
¿Qué es un Constructor?Es un un método que se ejecuta al inicio de forma automática, y que sirve para inicializar un objeto.Características:1. Tiene el mismo nombre de la clase.2. No puede retornar datos.3. Se ejecuta una única vez.Ejemplo:public MismoNombreQueLaClase (tipo parámetro1, ...tipo parámetro n) { campo1 = valor o parámetro; . campo n = valor o parámetro;}
Colaboración de clasesNormalmente un problema resuelto con la metodología de programación orientada a objetos no interviene una sola clase, sino que hay muchas clases que interactúan y se comunican.
Plantearemos un problema separando las actividades en dos clases.Ejemplo:➔ Un banco tiene 3 clientes que pueden hacer
depósitos y extracciones. ➔ El banco requiere al final saber el total de dinero.
3. Clase Cliente y Banco. Atributos y Métodos.
Cliente atributos nombre monto métodos depositar extraer
Banco atributos 1 Cliente métodos operar
Pasos para ejecutar el ejemplo:1. Crear un Proyecto: Banco, copiar el primer código.2. Hacer click en NewFile, elegir Java, y nombre:Cliente: Aquí copiar el 2do. código.
#include <iostream>using namespace std;class Cliente {public:int monto;char nombre[30];void depositar(int m) {monto=monto+m; }void extraer(int m) {monto=monto-m; }void imprimir(void) {cout << nombre << " tiene depositado " << monto; } };
class Banco {public:Cliente cliente1;Banco() {cout << "Ingrese el Nombre y el Monto Inicial: ";cin >> cliente1.nombre;cin >> cliente1.monto; }void operar() {cliente1.depositar (70);cliente1.extraer (30);cliente1.imprimir(); } };
int main(){Banco banco1;banco1.operar();return 0;}
https://paste.ee/p/EidfR
¿Qué es un Puntero?➔ Un puntero es una variable que da referencia a una
región de memoria; en otras palabras es una variable cuyo valor es una dirección de memoria.
➔ Si se tiene una variable A de tipo puntero que contiene una dirección de memoria en la que se encuentra almacenado un valor B se dice que A apunta a B.
➔ El programador utilizará punteros para guardar datos en memoria en muchas ocasiones.
Operadores de Punteros➔ El operador dirección ( & ) obtiene la dirección de
memoria de su operando.
Por ejemplo, teniendo en cuenta las declaraciones:➔ int x = 5; // declara la variable ➔ int *Puntero; // declara la variable apuntador.
Entonces, se dice que Puntero apunta a x.
4.Ejemplo: Puntero y valor.#include <iostream>using namespace std;int main(){int valor; // valor es un enteroint *puntero; // punterovalor = 7; // se asigna 7 a la variablepuntero = &valor; // se asigna la dirección al Puntero.cout << "La direccion de valor es " << &valor << endl;cout << "El valor del puntero es " << puntero << endl;cout << "El valor de valor es " << valor << endl;cout << "El valor de *Puntero es " << *puntero << endl;return 0; // indica que terminó correctamente} // fin de main
5.Número al Cubo.#include <iostream>using namespace std;int cubo(int); // prototipoint main(){int numero = 5;cout << "El valor es " << numero;numero = cubo(numero); // pasa el numero a cubocout << "\nEl nuevo valor es " << numero << endl;return 0; // indica que terminó correctamente} // fin de main
int cubo(int n) // calcula y devuelve el cubo{return n*n*n; // eleva al cubo} // fin de la función cubo