Está en la página 1de 5

POO for Dummies(Introduction)

En el Siguiente articulo me introducir en unas de las tareas mas tediosas del mundo , sin ser
programador, tratar de ensear algo de POO
hay varios libro por ah, yo recomiendo a alguien leer el siguiente articulo, si y solo si, tiene
conocimientos bsicos/medios de programacin, ya ue voy a obviar ciertas aclaraciones, sobre
clases y ob!etos"
Pensemos en ob!etos como algo #$sico% , tenemos por e!emplo el trillado e!emplo del auto, el auto
esta compuesto por varios ob!etos, rueda, motor, chasis etc"
&ueno en programacin un ob!eto vendra a ser una variable grande, digamos como por e!emplo, un
auto '#(P%) ue esta construido a su ve* por ob!etos'variables) ms peueos e!emplo ruedas, ahora
yo puedo comprar un auto o una rueda" Entonces yo en programacin puedo comprar un ob!eto
grande, como uno peueo, depende lo ue necesite en el programa, esto es mas o menos
orientativo"
+,ue son los mtodos/$unciones-
.igamos ue para mover un auto necesitamos acelerar, 'se debe encender el motor pero esto es un
e!emplo (S ")"Entonces apretamos el acelerador y el auto sale andando, en programacin, apretar el
acelerador seria llamar a la $uncin /celerar')"/hora acelerar va a modi$icar el atributo 0elocidad
del auto y tambin a modi$icar atributos de otros ob!etos, por e!emplo va a desgastar las ruedas"
+,ue es un atributo -
1n atributo es la parte mas peuea ue puede constituir un ob!eto, tambin son ciertas
caractersticas, especiales de cada ob!eto"
+2lases-
Si pensamos todo en e3tremo $sico, una clase vendra a ser como la $abrica del ob!eto mas peueo
ue tengamos en nuestro programa, la clase es la ue conoce los atributos, como modi$icarlos, y
como enviarte el ob!eto a tu casa"
1na clase puede pedir a otra clase ciertos ob!etos, estos ob!etos van a tener ciertos atributos
heredados,%Si me envan tela ro!a para hacer un vestido, el vestido va a ser ro!o%, una $abrica'2lase)
puede mandarnos ob!etos con atributos predeterminados y/o pedirnos ue le digamos ue atributos
ueremos, esto se hace mediante alg4n mtodo, por lo general llamado set5ombre6/tributo')"
En caso de ue no le aclaremos la $abrica tiene un mtodo llamado constructor, para predeterminar
los atributos, lleva el mismo nombre ue la clase"
+789 :: ;erencia-
Si como cuando uno es bebe y dicen tiene los o!itos de la mama, la boca del papa y el pitulin de la
abuela" 1n ob!eto va heredar de la clases padres ciertos atributos, a pesar de llamarse clases padres
puede haber mas de dos 'se ve ue los creadores de lengua!es de programacin, le gustaban las
orgas romanas)"
&ueno si no entendiste esto, vallamos al cdigo ui*s lo entiendas
<include =iostream>
<include =stdio"h>
<include =stdlib"h>
<include =string"h>
//Este Source 2ode se entrega con una licencia 22?&@?52?S/
//by @ashirasu =AAA"$acebooB"com/andi"Barma"C>
//e!emplo de POO $or .ummies
using namespace stdD
//pensemos a la clases 8ela/&oton/Pant como una $abrica
class 8elaE
//Fos /tributos van en un sector privado, para G$abricarG
//el pantalon no necesitamos saber como se G$abricaG la tela
privateH
char colorIJKLD
char te3turaIJKLD
publicH
//Fa siguiente $uncion se llama G2onstructorG en caso de
//no aclarle al $abricante como ueremos la tela
//nos enviara esta como predeterminada
8ela')
E
strcpy 'color,Ga*ulG)D
strcpy'te3tura,GgruesaG)D
MD
//Fa siguiente $uncion/metodo es para decirle al G$abricanteG
//como ueremos la tela, en caso de no uerer la predeterminada
void set8ela'char Ncol, char Nte3t)E
strcpy'color,col)D
strcpy'te3tura,te3t)D
M
//2on la siguiente $uncion el $abricante nos GmuestraG/GenviaG el producto ue pedimos
void most/tt')
E
cout==Gla tela es de color G==color==G y su te3tura es G==te3tura==endlD
M
MD
class &otonE
privateH
//Fos /tributos van en un sector privado, para G$abricarG
//el pantalon no necesitamos saber como se G$abricaG el boton
char colorIJKLD
char tipoIJKLD
publicH
//Fa siguiente $uncion/metodo es para decirle al G$abricanteG
//como ueremos el boton
void set/tt'char Ncol, int !)
E
strcpy'color, col)D
i$ '!((O)
Estrcpy'tipo,GplasticoG)D
M
elseE
strcpy'tipo,GmetalG)D
M
M
//2on la siguiente $uncion el $abricante nos GmuestraG el producto ue pedimos
void most/t')E
cout==GEl color del boton esH G==color==G@ su tipo es G==tipo==endlD
M
MD
//en la clase Pant no $abricamos la tela ni el boton, si no ue la/lo Gcompramos a 8ela/&oton
//en la 2lase Pant G$abricamosG el pantalon con las cosas
//compradas en la G$abricasG de 8ela/&oton
//Si la tela es GPo!aG el pantalon es GPo!oG'herencia)
class PantHpublic 8ela,public &otonE
MD
int main')
Echar resIJL,colIJKL,te3tIJKLD
int !D
doE
cout==G&ienvenido al programa para crear tu propio pantalonQnEscriba el 2olorHQtG==endlD
cin>>colD
cout==GEscriba la 8e3turaQtG==endlD
cin>>te3tD
Pant pantalonD///ca pedimos al ob!eto GPantalonG
pantalon"set8ela'col,te3t)D//aca aclaramos ue G2ualidadesG ueremos ue tenga la tela
cout==GEscriba el color del botonG==endlD
cin>>colD
doEcout==G.e ue tipo uiere el botonQnO?PlasticoQnJ?RetalicoG==endlD
cin>>!D
i$'!=O SS !>J)
E
cout==GErrorQnQaG==endlD
M
MAhile'!=O SS !>J)D
pantalon"set/tt'col,!)D//aca pedimos ue el boton cumpla ciertas caracteristicas
cout==G?????????????/si uedo su pantalon???????????G==endlD
pantalon"most/tt')D
pantalon"most/t')D
doE
cout==G.esea crear otro pantalonG==endlD
cin>>resD
resIKL(toupper'resIKL)D
MAhile ''strcmp'G5G,res):(K)TT''strcmp'G@G,res)):(K))D
MAhile ''strcmp'G@G,res))((K)D
return KD
M
8odo este articulo como el codigo $uente contenido en el esta con una Ficencia 2reative 2ommons
U"K &@?52?S/
el autor de este articulo es @ashirasu Sensei
2onsultasH
Barmita"d!Vgmail"com y yashirasu?senseiVyahoo"com"ar

También podría gustarte