Vous êtes sur la page 1sur 3

Tutorial rpido: Orientao Objetos em Python O que Orientao Objetos?

os? Orientao objetos um paradigma de programao introduzido h um bom tempo no mundo do desen ol imento! "sse paradigma baseia#se na $riao de no os tipos de dados%tipos de dados normais&built#in: inteiros' (loat' double' $har!!!) de modo tornar o programa e a programao mais modulares e e itar mais ainda a repetio' bem $omo possibilitar a $riao de tipos de dados no os para serem usados $omo qualquer outro%$om algumas restri*es' $laro)! O que so Objetos? Objetos so inst+n$ias de $lasses! ,as $omo assim' inst+n$ias? " o que so $lasses? -amos pelo $omeo! ".emplo de programa em Python orientado objeto: $lass Tri+ngulo: de( 11init11%sel(' b ' a): / 0e$larao da $lasse / 2uno&,todo%$omo se $hamam as (un*es / em OO!) 3ontrutora' ou seja' uma (uno que / $hamada toda ez que uma instn$ia / $riada! -eremos mais adiante!

sel(! 4ase 5 b sel(!6ltura 5 a de( 6rea%): return sel(!4ase 9 sel(!6ltura /###################################################### a 5 Tri+ngulo%:';) / 7m mtodo8

/ 3riao de inst+n$ia8 6 agora um objeto / Tri+ngulo ou seja' ele uma re(er<n$ia / $lasse Tri+ngulo! / in o$ao do mtodo rea! Ou seja' o$< / $hama a (uno&mtodo rea8

a!6rea%)

/###################################################################################################################### 3omo o$< pode er a $lasse Tri+ngulo $riada e l no (inal n=s >trans(ormamos?%$riamos uma inst+n$ia) de Tri+ngulo em a' ou seja' n=s (izemos $om que a (osse um objeto do tipo de dado Tri+ngulo' e a se $omportar $omo um tri+ngulo a partir de agora! T $ompli$ado? @o' isso s= $onhe$imento no o e um pou$o abstrato! 3omo >tare(a? re$omendo que o$< $ome$e a es$re er $lasses de $oisas $otidianas' $omo: quadrados' $asa' e et$! 2azendo essas $lasses sem e.e$ut#las' s= para pegar a abstrao' ou seja' pra o$< ter uma noo de $omo passar (un$ionalidades pra dentro de uma $lasse8 OA' at agora n=s imos um programa' mas no a e.pli$ao! Para ajudar pensar no que uma $lasse' um objeto e o ato de instan$iar um objeto' basta que pensemos numa re$eita de bolo! Buando o$< tem a re$eita de bolo em sua $ozinha' o$< pode pegar os ingredientes e (azer in(initos bolos' $ada bolo pode ter um tamanho' um sabor' uma $or' di(erentes' mas a massa' de (ato' ser a mesma $oisaC o os' (arinha e et$! O que mudaria seria'

basi$amente' o re$heio' o sabor' o tamanho e a $or! 6gora' passemos entender a $lasse $omo a re$eita' o ato de instan$iar um objeto $omo o ato de preparar o bolo e o objeto $omo o bolo pronto! -o$< tem uma $lasse que uma re$eita de bolo e o$< agora pre$isa de bolos que so inst+n$ias de objetos' ou' objetos! 0igamos que a ari el a seja a (orma do bolo' nela que (eito o bolo Tringulo! ,ais ($il assim sem tanta abstrao' $erto? 6posto que o$< respondeu um sim' ento amos prosseguir! @o entanto' sem atributos%bem $omo na ida real' em OO as ari eis numa $lasse so $hamadas atributos) um bolo seria uma massa es$rota%se me permite o termo) e sem aquele sabor mara ilhoso que s= um bolo bem (eito tem! "nto' tenhamos $omo e.emplo nosso bolo!!! oops8 3lasse8 Tri+ngulo! @ela temos : atributos %sel(!)4ase e %sel(!)6ltura%e.pli$arei o sel( seguir)! Bue so : inteiros que representam a base e a altura do tri+ngulo' de um tringulo qualquer' e o mtodo rea uma (uno que retorna a rea desse tri+ngulo' ou seja' uma (uno que retorna um laor de 4ase . 6ltura para uma outra ari el qualquer! 6ntes de mais nada' e.pliquemos o sel(8 O sel(! D uma maneira de o$< dizer ao programa que o$< est querendo tratar de uma ari el da $lasse Tri+ngulo' e no uma ari el global que possa ir e.istir no seu programa! Ou seja' um atributo $riado a partir da $lasse Tri+ngulo e no uma ari el $riada pelo blo$o do programa em si8 @o entanto' no ser e apenas para objetos' mas tambm para mtodos! Por e.emplo: dentro da $lasse' o$< usa 6rea assim: sel(!6rea 2ora da $lasse' o$< sarar assim: a!6rea%) Ou seja' sempre que o$< (or a$essar&in o$ar&$hamar um mtodo de uma $lasse o$< ter que dizer que objeto est re(eren$iando ou seja a' in$luir um >!? e dizer o nome da (uno&mtodo e ento (inalizar $om %)! Eembrando que isso para 2OF6 0O "G3OPO 06 3E6GG"! 0entro da $lasse o$< usar sel(!,"TO0O%)!

Fe$aptulando: 3riar uma $lasse: $lass @O,": 3riar um $onstrutor dessa $lasse: de( 11init11%sel(' argumentos'!!!): $riar um atributo: dentro do es$opo da $lasse ###H sel(!-6FI6-"E 5 J para inteiros ' 5 >? para $hars ou strings' ou simplesmente 5 @one' para que o$< (ique li re para $olo$ar o que quiser ali! Instan$iando um objeto: a 5 @O,"063E6GG"%)

3hamando um mtodo da 3lasse: a!,"TO0O063E6GG"%)

4om' a apostila no est $ompleta' est em sua primeira erso! Ou seja' medida que a matria ai se intensi(i$ando' ou in$rementando mais $oisas' mas para estudar pra primeira pro a' t bom' qualquer dK ida' me pro$ure pelo sAype: n;ndozL! 4ons estudos!

2ernando Eimoeiro

Vous aimerez peut-être aussi