ANHANGUERA UNIBAN OSASCO SISTEMAS DE INFORMAÇÃO
ATIVIDADES PRÁTICAS SUPERVISIONADAS LINGUAGEM DE PROGRAMAÇÃO COMERCIAL
OSASCO 2014
NOMES: Fabiano G dos Santos Gildelson Alves Silva Reginaldo dos Santos Vagner !i"#nio Vitor da Silva Vi$tor $tor Se$% e$%ler ler de de Al& Al&ei eidda
RA-1299309398 RA-7098532245 RA-6056474524 RA-1299544325 RA-1299564996 RA-1 A-129925 992562 6228 28
LINGUAGEM DE PROGRAMAÇÃO COMERCIAL
Atividades Atividades 'r(ti$as 'r(ti$as S)!ervisi S)!ervisionad onadas as a!resenta a!resentado do ( ban$a e*a&inadora da Fa$)ldade
de Siste&a da
+n"or&a,o An%ang)era An%ang)era d)$a$ional d)$a$ional . $o&o $o&o re/)isito !ar$ial obten,o do Gra) de a$%arel e& Siste&a da +n"or&a,o sob rienta,o da !ro"essor estre anilo o)radin%o Fernandes rientador 'ro" estre anilo o)radin%o Fernandes
OSASCO 2014 LINGUAGEM DE PROGRAMAÇÃO COMERCIAL
Atividades
S)!ervisionadas
'r(ti$as
a!resentado ( ban$a e*a&inadora da Fa$)ldade
de Siste&a da +n"or&a,o
An%ang)era d)$a$ional . $o&o re/)isito !ar$ial obten,o do Gra) de a$%arel e& Siste&a da +n"or&a,o sob rienta,o da !ro"essora estre 'ro" estre anilo o)radin%o Fernandes
A!rovada e&
de
2014
AA :A+ARA ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 'ro" r An%ang)era d)$a$ional
RESUMO = > )&a ling)age& elegante e de ti!os !rotegidos. orientada a ob?eto e /)e !er&ite aos
desenvolvedores $onstr)@re& )&a variedade de a!li$a,es seg)ras e rob)stas. $o&!at@veis $o& o B Fra&eCorD E !oss@vel )sar = !ara $riar &)ito a!li$ativos de $liente do indoCs. servi,os eb :<. $o&!onentes distrib)@dos. a!li$ativos de $liente-servidor. a!li$ativos de ban$o de dados. e &)ito &ais Vis)al = "orne$e )& editor de $digos avan,ado. designers de inter"a$e de )s)(rio $onvenientes. de!)rador integrado. e &)itas o)tras "erra&entas !ara "a$ilitar o desenvolvi&ento de a!li$ativos baseados na ling)age& = e no B Fra&eCorD
Palava!"#$av%:
ABSTRACT
= is an elegant and !rote$ted tH!es. ob?e$t-oriented and alloCs develo!ers to b)ild a varietH o" se$)re and rob)st a!!li$ations. $o&!atible Cit% B Fra&eCorD lang)age Io) $an )se = to $reate a lot o" indoCs $lient a!!li$ations. :< eb servi$es. distrib)ted $o&!onents. $lient-server a!!li$ations. database a!!li$ations. and &ore Vis)al = !rovides advan$ed $ode editor. a $onvenient )ser inter"a$e designers integrated deb)gger. and &anH ot%er tools to "a$ilitate t%e develo!&ent o" a!!li$ations based on = lang)age and t%e B Fra&eCorD
JeHCords
SUMÁRIO
1"INTRODUÇÃO6 2"&USTIFICATIVA8 ETAPA " 19 Pa!!' 29 21- Babela o& di"eren,as entre a ling)age& = e a ling)age& Kava9 Pa!!' (11 31 - Rela$iona&ento11 32 - Relatrio 112 33 - riado a $lasse Ls)(rio12 34 - riado )&a $lasse aterial15 35 - riado )&a $lasse e!arta&ento18 36 - riado )&a $lasse
1"INTRODUÇÃO LINGUAGEM C,
A sinta*e do $= > alta&ente e*!ressiva. &as ela ta&b>& > si&!les e "($il de a!render a sinta*e do $= ser( instantanea&ente re$on%e$ida !or /)al/)er !essoa "a&iliariMada $o& $. $NN o) ?ava os desenvolvedores /)e sabe& /)al/)er )&a dessas ling)agens so geral&ente $a!aMes de $o&e,ar a trabal%ar de "or&a !rod)tiva $o& $= dentro de )& te&!o &)ito $)rto a sinta*e do $= si&!li"i$a &)itas das $o&!le*idades do $NN e "orne$e re$)rsos !oderosos. $o&o ti!os de valor n)lo. en)&era,es. delega,es. e*!resses la&bda e a$esso direto a &e&ria. /)e no so en$ontrados no ?ava o $= s)!orta &>todos e ti!os gen>ri$os. /)e "orne$e& )&a &el%or seg)ran,a de ti!o e dese&!en%o. e iteradores. /)e !er&ite& i&!le&entadores de $ole,es de $lasses !ara de"inir $o&!orta&entos de itera,o !ersonaliMados /)e so si&!les de )sar !elo $digo $liente e*!resses lin/ O$ons)lta integrada ling)age&P "aMe& a $ons)lta "orte&ente ti!o da )&a ling)age& de $onstr),o de !ri&eira $lasse$o&o )&a ling)age& orientada ob?etos. o $= s)!orta os $on$eitos de en$a!s)la&ento. %eran,a e !oli&or"is&o todas as vari(veis e &>todos. in$l)indo o &>todo !rin$i!al O&ainP. o !onto de e*e$),o de )&a a!li$a,o. so en$a!s)ladas e& de"ini,es de $lasses )&a $lasse derivada !ode %erdar direta&ente so&ente de )&a $lasse !ai. &as !ode %erdar de /)al/)er /)antidade de inter"a$es &>todos da $lasse derivada /)e s)bstit)e& &>todos virt)ais de )&a $lasse !ai e*ige& a )tiliMa,o da !alavra-$%ave 'v%-.% $o&o "or&a de evitar a rede"ini,o a$idental e& $=. )&a str)$t > $o&o )&a $lasse si&!li"i$adaQ > )& ti!o alo$ado e& !il%a /)e !ode i&!le&entar inter"a$es &as no s)!orta %eran,a al>& desses !rin$@!ios b(si$os orientados a ob?eto. o $= "a$ilita o desenvolvi&ento de $o&!onentes de so"tCare !or &eio de v(rios $onstr)$tos de ling)age& inovadores. in$l)sive os seg)intes assinat)ras de &>todos en$a!s)lados. $%a&adas delegates. /)e !er&ite& noti"i$a,es de evento de ti!o seg)ro !ro!riedades. /)e serve& $o&o a$essa dores !ara vari(veis de &e&bro !arti$)lar
•
Atrib)tos. /)e "orne$e& &etadados de$larativos sobre ti!os e& te&!o de e*e$),o
•
o&ent(rios &b)tidos da o$)&enta,o :<
•
<+ Oons)lta +ntegrada s de v(rias de "ontes de dados
Se vo$ tiver /)e interagir $o& o)tros so"tCares indoCs $o&o ob?etos o) <s de )& !ro$esso $%a&ado T+ntero!T +ntero! !er&ite aos !rogra&as = "aMer /)ase t)do /)e )&a a!li$a,o nativa NN !ode "aMer = s)!orta !onteiros e o $on$eito de $digo inseg)ro !ara esses $asos e& /)e a$esso direto &e&ria > absol)ta&ente $r@ti$o !ro$esso de $o&!ila,o do = > si&!les $o&!arado $o& NN e &ais "le*@vel /)e e& Kava o %( ar/)ivos de $abe,al%o se!arados. e no %( a ne$essidade de /)e &>todos e ti!os se?a& de$larados e& )&a orde& es!e$@"i$a L& ar/)ivo de $digo e& = !ode de"inir /)al/)er nU&ero de $lasses. estr)t)ras. inter"a$es e eventos
2"&USTIFICATIVA $digo-"onte es$rito e& = > $o&!ilado e& )&a ling)age& inter&edi(ria O+& )& &ani"esto /)e "orne$e in"or&a,es sobre os ti!os do asse&blH. verso. $)lt)ra e re/)isitos de seg)ran,a
ATPS / LINGUAGEM DE PROGRMAÇÃO COMERCIAL ETAPA / 1 PASSO2
21 -Ta%la ' .-%%3a! %35% a l-367a6% C, % a l-367a6% &ava
I8l%%35a9'
C,
&ava
sealedW e& =
"inalW e& KavaQ
isW e& =
instan$eo"W e& KavaQ
a&!o $onstante
$onstW e& =
stati$ "inalW e& KavaQ
o&!ila !ara $digo
o $aso da i$roso"t
no Kava !ara bHte $odeW
inter&edi(rio
$o&!ila !ara +nter&ediate
lasse /)e no !ode ser %erdada !erador /)e veri"i$a $o&!atibilidade de ti!os
+&!le&enta !ro!riedades
o i&!le&enta !ro!riedades
+&!le&enta )& &odo seg)ro XXXXXXX
!ara !onteiros e o!era,es
o i&!le&enta )& &odo seg)ro !ara !onteiros e
arit&>ti$as
o!era,es Arit&>ti$as se& $%e$age&
& = no so $%e$adas XXXXXXX
Kava !oss)i e*$e,es $%e$adas. en/)anto e*$e,es
XXXXXXX
XXXXXXX
= i&!le&enta o goto $o&o
Kava no i&!le&enta o goto
estr)t)ra de $ontrole
$o&o estr)t)ra de $ontrole
= )tiliMa $o&ent(rios
Kava )tiliMa-se de
baseados e& :< !ara este
$o&ent(rios !ara gerar
!ro!sito
do$)&enta,o a)to&(ti$a
PASSO ( (1 "R%la#-'3a%35'
Fig)ra 1 iagra&a de lasses
(2" R%la5;-' 1
33"C-a.' a #la!!% U!7<-' sing SHste&Q )sing SHste&olle$tionsGeneri$Q )sing SHste&
Y !rivate int $odigoQ !rivate string no&eQ !rivate string loginQ !rivate int sen%aQ !rivate string ti!oQ !rivate int $odigo;de!arta&entoQ !)bli$ void Ls)arioOPQ Y t%is$odigoZ$odigoQ t%isno&eZno&eQ t%isloginZloginQ t%issen%aZsen%aQ t%isti!oZti!oQ t%is$odigo;de!arta&entoZ$odigo;de!arta&entoQ [ !)bli$ int $odigo Y get Oret)rn $odigoPQ set O$odigo Z val)ePQ [ !)bli$ string no&e Y get Oret)rn no&ePQ set Ono&e Z val)ePQ [ !)bli$ string login
Y get Oret)rn loginPQ set Ologin Z val)ePQ [ !)bli$ string sen%a Y get Oret)rn sen%aPQ set Osen%a Z val)ePQ [ !)bli$ string ti!o Y get Oret)rn ti!oPQ set Oti!o Z val)ePQ [ [ !)bli$ int $odigo;de!arta&ento Y get Oret)rn $odigo;de!arta&entoPQ set O$odigo;de!arta&ento Z val)ePQ [ [ [ [
34 / C-a.' 7a #la!!% Ma5%-al )sing SHste&Q )sing SHste&olle$tionsGeneri$Q )sing SHste&
!rivate int $odigoQ !rivate int $odigo;de!arta&entoQ !rivate ateBi&e dataQ !rivate string tit)loQ !rivate string $onte)doQ !rivate string $odigo;)s)arioQ [ !)bli$ void aterial OPQ Y t%is$odigo Z $odigoQ t%is$odigo;de!arta&ento Z $odigo;de!arta&entoQ t%isdata Z dataQ t%istil)lo Z tit)loQ t%is$onte)do$onte)doQ t%is)s)arioZ)s)arioQ [ !)bli$ int $odigo Y get Oret)rn $odigoPQ set O$odigo Z val)ePQ [ !)bli$ int $odigo;de!arta&ento Y get Oret)rn $odigo;de!arta&ento;PQ set O$odigo;de!arta&ento Z val)ePQ [ !)bli$ string data
Y get Oret)rn dataPQ set Odata Z val)ePQ [ !)bli$ string til)lo Y get Oret)rn til)loPQ set Otit)lo Z val)ePQ [ !)bli$ string $onte)do Y get Oret)rn ti!oPQ set Oti!o Z val)ePQ [ !)bli$ string $odigo;de!arta&ento Y get Oret)rn $odigo;de!arta&entoPQ set O$odigo;de!arta&ento Z val)ePQ [ [
(5 / C-a.' 7a #la!!% D%8a5a%35' )sing SHste&Q )sing SHste&olle$tionsGeneri$Q )sing SHste&
!rivate int $odigoQ !rivate string des$ri$aoQ [ !)bli$ void e!arta&ento OP Y t%is$odigo Z $odigoQ t%isdes$ri$ao Z des$ri$aoQ [ ')bli$ int $odigo Y get Oret)rn $odigoPQ set O$odigo Z val)ePQ [ !)bli$ string des$ri$ao Y get Oret)rn des$ri$aoPQ set Odes$ri$ao Z val)ePQ [ [
36 / C-a.' 7a #la!!% L'6-3 )sing SHste&Q )sing SHste&olle$tionsGeneri$Q )sing SHste&
[ !)bli$ int $odigo Y get Oret)rn $odigoPQ set O$odigo Z val)ePQ [ !)bli$ string sen%a Y get Oret)rn sen%aPQ set Osen%a Z val)ePQ [ !)bli$ string des$ri$ao Y get Oret)rn ti!oPQ set Oti!o Z val)ePQ [
37 " C-a3.' M%5'.'! l'6aN'S-!5%a !)bli$ oolean logaroSiste&aOP Y ret)rn tr)eQ [ [
PASSO 4
41"R%la5;-' 2 "ra&eCorD B > a ini$iativa da i$roso"t !ara ")ndir e& )&a Uni$a !lata"or&a de a!li$a,es e e*e$),o de siste&as de desenvolvi&ento )al/)er $digo /)e "or gerado !elo "ra&eCorDB !oder( rodar e& /)al/)er siste&a $o& o B instalado = "oi es!e$ial&ente desenvolvi&ento !ara B. !ois s)as !rin$i!ais lasses "ora& original&ente desenvolvidas e& = = > a ling)age& de !rogra&a,o orientada a ob?etos $riada !ela i$roso"t e se) !rin$i!al
esenvolvedor > Anders \e?lsberg. /)e anterior&ente ?( %avia desenvolvido o&!iladores !ara a orland. !or e*e&!lo. B)rbo 'as$al e el!%i i"erente&ente de o)tras ling)agens de !rogra&a,o. nen%)&a i&!le&enta,o = /)al/)er $on?)nto de bibliote$as de $lasses o) ")n,es Ao inv>s disso. est( vin$)lada a B. /)e > onde o = obt>& s)as $lasses e ")n,es de e*e$),o $digo se &ant>& organiMado e& )& $on?)nto de na&es!a$esW. /)e serve& !ara agr)!ar $lasses $o& ")n,es si&ilares. !or e*e&!lo SHste& raCingW !ara gr("i$os. SHste& olle$tionsW !ara estr)t)ras de dados e SHste& indoCs For&sW !ara o siste&a indoCs For& o& a $o&!ara,o "eita entre Kava e = > !oss@vel en*ergar alg)&as di"eren,as b(si$as entre as d)as. &as nada /)e ven%a atra!al%ar )& )s)(rio de Kava a !rogra&ar e& =. basta a!enas )& !e/)eno es"or,o !ara se ada!tar a essa !lata"or&a i$roso"t. a&bas so !oderosas e atende& &)ito be& as ne$essidades do &er$ado. &as $ada )&a $o& s)as !arti$)laridades
)" CONCLUSÃO Ao $on$l)ir&os esse !ro?eto !ode&os veri"i$ar /)e A ling)age& = > )&a ling)age& /)e visa !ro&over &)ito o desenvolvi&ento. e !oss)i )&a a&!la ga&a de re$)rsos /)e !ode& !ro!or$ionar )&a grande !rod)tividade !ara desenvolvedores /)e a )tiliMa& Al>& dos re$)rsos $o&o s)a sinta*e e !rogra&a,o orientada a ob?etos. /)e "aMe& dela )&a ling)age& !oderosa !ara se trabal%ar Aliada ao )so do "ra&eCorD B. > !oss@vel $riar diversos ti!os de a!li$a,es .e ainda ter )& a&biente onde o desenvolvedor !ode "o$ar na s)a lgi$a o te&!o todo. se& se !reo$)!ar $o& a gern$ia de re$)rsos. ?( /)e /)e o !r!rio "ra&eCorD se en$arrega de $)idar disso
* / REFER+NCIAS %tt!]]&sdn&i$roso"t$o&]!t-br]librarH]M1M*9t92as!* = A nova ling)age& da ar/)itet)ra B %tt!]]CCC&sdnbrasil$o&br]$ol)nas]"alando$]$ol;"alando$;2as!*
= e Kava %tt!]]CCC&sdnbrasil$o&br]$ol)nas]"alando$]$ol;"alando$;3as!*
'or /)e o = > &el%or /)e o Kava %tt!]]CCC&as$o&br]Artigos]S%ar!;Kava%t&
=
+ntrod),o ao Kava %tt!]]CCC2d&)"s$arbr]_Calde$D]$)rso]?ava]introd%t&l