Que
tal programadores, espero que estén listos para esta segunda parte de clases en
donde utilizaremos el encapsulamiento PRIVATE , les recomiendo que antes de
continuar visiten la primera parte en donde utilizamos el tipo de
encapsulamiento PUBLIC para esto da click en el siguiente link
Para
comenzar vamos a plantearnos un problema con el diagrama UML y nuestro problema
será el siguiente:
Este problema nos indica lo
siguiente:
- · NOMBRE DE LA CLASE : Tenis
- · DATOS PRIVADOS: Color, Marca
- · FUNCIONES PUBLICAS: ImprimirDatos
Cuando se colocan los datos
privados quiere decir que únicamente la clase puede tener acceso a esos datos,
ni el mismo main puede acceder asi que para poder utilizar esos datos vamos a
necesitar la ayuda de los punteros a los que le llamaremos SET Y GET :
- · SET: Es una FUNCION que nos va a permitir manipularla desde el main, y estamos apuntando hacia la variable que esta en modo privado para que pueda ser accesada.
- · GET: Es una FUNCION que nos va a permitir visualizar la variable si la invocamos desde el main
REGRESANDO AL PROBLEMA:
El primer dato privado es
COLOR de tipo string. La función de SET y GET quedaría asi:
void setColor (string color)
{
this->color=color; }
string getColor()
{ return color; }
El
segundo dato privado es MARCA de tipo string. Las funciones de SET Y GET serían:
void
setMarca (string marca)
{ this->marca=marca; }
string getMarca()
{ return marca; }
El
tercer dato privado es TALLA de tipo int. Las funciones de SET Y GET serian de
la siguiente manera:
void setTalla(int
talla)
{ this->talla=talla; }
int getTalla()
{ return talla; }
NOTAS IMPORTANTES:
·
SETTERS:
esta función siempre debe aceptar una variable, esta variable puede ser con el
mismo nombre o diferente, se recomienda con el mismo nombre. Dentro de esta función
colocamos un “this” quiere decir que apuntaremos “->” a la variable que
acaba de recibir y daremos el mismo valor a la variable que se encuentra en
modo privado.
·
GETTERS:
Esta función es importante si se desea utilizar en el main, por lo que siempre
va a retornar el mismo tipo de dato del que recibió en el SET, y retornara la
variable privada para ser mostrada dentro del main.
Debemos tomar en cuenta que dentro del main tenemos que mandar a
llamar a las clases . Si tienen alguna duda sobre eso vayan al siguiente link CLASES parte 1
Ahora mostrare el código para mejor entendimiento:
#include
<iostream>
using namespace std;
class Tenis {
private:
string color;
string marca;
int talla;
public:
void setColor (string color)
{ this->color=color; }
string getColor()
{ return color; }
void setMarca (string marca)
{ this->marca=marca; }
string getMarca()
{ return marca; }
void setTalla(int talla)
{ this->talla=talla; }
int getTalla()
{ return talla; }
void imprimirDatos ()
{
cout<<"LOS DATOS
INGRESADOS FUERON:"<<endl;
cout<<"Marca:
"<<marca<<endl;
cout<<"Color:
"<<color<<endl;
cout<<"Talla:
"<<talla<<endl;
}
};
int main()
{
Tenis claseTenis;
string marcaIngresada;
string colorIngresado;
int tallaIngresada;
cout<<"::::::::::::VENTA DE
TENIS::::::::::::::"<<endl;
cout<<"COLOR: ";
cin>>colorIngresado;
cout<<"MARCA: ";
cin>>marcaIngresada;
cout<<"TALLA: ";
cin>>tallaIngresada;
claseTenis.setColor(colorIngresado);
claseTenis.setMarca(marcaIngresada);
claseTenis.setTalla(tallaIngresada);
claseTenis.imprimirDatos();
}
Y EL RESULTADO EN CONSOLA SERIA :
SI TIENEN ALGUNA DUDA PUEDEN COMENTARNOS
EN LA PARTE DE ABAJO
NOS VEMOS A LA
PROXIMA XD
No hay comentarios.:
Publicar un comentario