Você está na página 1de 1

Introduoprogramao/Orientaoaobjetos

Origem:Wikilivros,livrosabertosporummundoaberto.
<Introduoprogramao

AOrientaoaObjetoumparadigmadeAnliseorientadaaoobjeto,ProjetoorientadoaoobjetoeLinguagemdeprogramaodesistemasdesoftware
baseadonacomposioeinteraoentrediversasunidadesdesoftwarechamadasobjetos.

Emalgunscontextos,prefereseusarModelagemdedadosorientadaaoobjeto,emvezdeProjetoorientadoaoobjeto.

Aanliseeprojetoorientadosaobjetostmcomometaidentificaromelhorconjuntodeobjetosparadescreverumsistemadesoftware.Ofuncionamentodeste
sistemasedatravsdorelacionamentoetrocademensagensentreestesobjetos.

Hojeexistemduasvertentesnoprojetodesistemasorientadosaobjetos.Oprojetoformal,normalmenteutilizandotcnicascomoanotaoUMLeprocessosde
desenvolvimentocomooRUPeaprogramaoextrema,queutilizapoucadocumentao,programaoemparesetestesunitrios.

Naprogramaoorientadaaobjetos,implementaseumconjuntodeclassesquedefinemosobjetospresentesnosistemadesoftware.Cadaclassedeterminao
comportamento(definidosnosmtodos)eestadospossveis(atributos)deseusobjetos,assimcomoorelacionamentocomoutrosobjetos.

Smalltalk,Modula,Eiffel,Perl,Python,Ruby,PHP,C++,Java,DeValasoaslinguagensdeprogramaomaisimportantescomsuporteaorientaoaobjetos.

Conceitos
Classerepresentaumconjuntodeobjetoscomcaractersticasafins.Umaclassedefineocomportamentodosobjetos,atravsdemtodos,equaisestadosele
capazdemanter,atravsdeatributos.

Exemplodeclasse:

HUMANOumaclasseetemcomoatributos:2BRAOS,2PERNAS,1CABEA,etc...

Objetoumainstnciadeumaclasse.Umobjetocapazdearmazenarestadosatravsdeseusatributosereagiramensagensenviadasaele,assimcomose
relacionareenviarmensagensaoutrosobjetos.

ExemplodeobjetosdaclasseHumanos:

JOOumobjetodaclasseHUMANOS,apresentandotodososatributosdessaclassemascomasuaindividualidade.

Objetoportantoumadiscriminaodaclasse,sendoaclasseumageneralizaodeumconjuntodeobjetosidnticosoucomamesmabase.

Mensagemumachamadaaumobjetoparainvocarumdeseusmtodos,ativandoumcomportamentodescritoporsuaclasse.

Heranaomecanismopeloqualumaclasse(subclasse)podeestenderoutraclasse(superclasse),aproveitandoseuscomportamentos(mtodos)eestados
possveis(atributos).Hheranamltiplaquandoumasubclassepossuimaisdeumasuperclasse.Essarelaonormalmentechamadaderelao"um".
Umexemplodeherana:MamferosuperclassedeHumano.Ouseja,umHumanoummamfero.

Associaoomecanismopeloqualumobjetoutilizaosrecursosdeoutro.Podetratarsedeumaassociaosimples"usaum"oudeumacoplamento
"partede".Porexemplo:Umhumanousaumtelefone.Atecla"1"partedeumtelefone.

Encapsulamentoconsistenaseparaodeaspectosinternoseexternosdeumobjeto.Estemecanismoutilizadoamplamenteparaimpediroacessodireto
aoestadodeumobjeto(seusatributos),disponibilizandoexternamenteapenasosmtodosquealteramestesestados.Exemplo:

Vocnoprecisaconhecerosdetalhesdoscircuitosdeumtelefoneparautilizlo.Acarcaadotelefoneencapsulaessesdetalhes,provendoavocuma
interfacemaisamigvel(osbotes,omonofoneeossinaisdetom).

Abstraoahabilidadedeconcentrarnosaspectosessenciaisdeumcontextoqualquer,ignorandocaractersticasmenosimportantesouacidentais.Em
modelagemorientadaaobjetos,umaclasseumaabstraodeentidadesexistentesnodomniodosistemadesoftware.

Polimorfismopermitequeumarefernciadeumtipodeumasuperclassetenhaseucomportamentoalteradodeacordocomainstnciadaclassefilhaaela
associada.Opolimorfismopermiteacriaodesuperclassesabstratas,ouseja,commtodosdefinidos(declarados)enoimplementados,ondea
implementaoocorresomentenassubclassesnoabstratas.

Vertambm
LivroProgramaoorientadaaobjetos

Obtidoem"https://pt.wikibooks.org/w/index.php?title=Introduo__programao/Orientao_a_objetos&oldid=266615"

Categoria: Livro/Introduoprogramao

Estapginafoimodificadapelaltimavez(s)13h21minde8dejaneirode2014.
EstetextodisponibilizadonostermosdalicenaCreativeCommonsAtribuioCompartilhamentopelamesmaLicena3.0Unportedpodeestarsujeitoa
condiesadicionais.ConsulteasCondiesdeUsoparamaisdetalhes.