Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programação Orientada a Objeto JAVA, Notas de estudo de Introdução à Programação de Computadores

Programação Orientada a Objeto JAVA conceitos

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 18/10/2009

anderson-cavalcanti-9
anderson-cavalcanti-9 🇧🇷

1

(1)

2 documentos

1 / 45

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1




Rosiane de
Rosiane de
Freitas Rodrigues
Freitas Rodrigues
Especialização
Especialização
em
Desenvolvimento
Desenvolvimento
de
de
Sistemas
Sistemas
Departamento
Departamento
de
de
Ciência da Computação
Ciência da Computação
Universidade
Universidade
do
do
Amazonas
Amazonas
maio
maio
de 2001
de 2001
POO:
Conceitos Básicos
POO
POO
usando
usando
JAVA
JAVA
Rosiane de
Rosiane de
Freitas
Freitas
Rodrigues
Rodrigues
,
,
Profa
Profa
. M.Sc. DCC - ICE - UA
. M.Sc. DCC - ICE - UA
  "!$#%'&()
  "!$#%'&()
*+-,/.0%132
*+-,/.0%132
``Minha opinião é que Programação Orientada por
Objetos será nos anos 80 o que Programação
Estruturada foi nos anos 70. Todos irão
defendê
-
la
.
Todos os fabricantes promoverão seus produtos como
tendo suporte para ela.Todo gerente pagará pra ver.
Todos os programadores irão
praticá
-
la
, a sua
maneira. E ninguém conhecerá exatamente o que
ela é.'
Rentsch
.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d

Pré-visualização parcial do texto

Baixe Programação Orientada a Objeto JAVA e outras Notas de estudo em PDF para Introdução à Programação de Computadores, somente na Docsity!

   ^ 

Rosiane deRosiane de Freitas RodriguesFreitas Rodrigues

Especialização Especialização emem DesenvolvimentoDesenvolvimento dede SistemasSistemas

Departamento Departamento dede Ciência da ComputaçãoCiência da Computação

Universidade Universidade dodo AmazonasAmazonas

maio maio de 2001de 2001

POO: Conceitos Básicos POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

^  "!$#%'&()"!$#%'&()

``Minha opinião é que Programação Orientada por Objetos será nos anos 80 o que Programação Estruturada foi nos anos 70. Todos irão defendê-la. Todos os fabricantes promoverão seus produtos como tendo suporte para ela.Todo gerente pagará pra ver. Todos os programadores irão praticá-la, a sua maneira. E ninguém conhecerá exatamente o que ela é.'‘ Rentsch.

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

4 5675898:;6^4 5675898:;6^ <5=<5= >"?$@%8'A(8)8>"?$@%8'A(8)

<B-C/>@%63D <B-C/>@%63D

z Programar Objetos requer paciência. z Os resultados serão percebidos quando: y o software for aproveitado, tendo em vista que o mesmo já foi depurado - reusabilidade. y Mesmo que o novo problema se apresente de uma forma diferente do original - polimorfismo. y Podendo aproveitar todas as características semelhantes que já foram definidas e resolvidas originalmente - herança. y Com segurança de que não apareçam erros de funcionamento por causa da interação entre os módulos - encapsulamento. POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

EFGIH/JK%GEFGIH/JK%G LFMLFM J"N$K%O'P(GJ"N$K%O'P(G QRGFLS-H/JKG3TQRGFLS-H/JKG3T

z É o método que produz arquiteturas de software baseadas nos objetos que o sistema manipula.

z A propriedade básica do método:

y (^) Evite perguntar : O que o sistema faz? y Melhor perguntar: Sobre o que o sistema faz o que?

  • Quais são os elementos do sistema? z Olhe primeiro para o dado, é a regra para favorecer reusabilidade.

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

bdcfe3ghgji'g bdcfe3ghgji'g

z Classes são agrupamentos de objetos (computacionais) que têm propriedades em comum e podem realizar as mesmas ações. y este agrupamento e classificação deve refletir o agrupamento natural dos objetos reais. y classes introduzem a noção de tipos em linguagens orientadas a objetos, o que é fundamental para organizar informações e evitar erros desnecessários. z Uma classe é um molde (modelo) de um objeto. POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

kdlfm3nhnjo'nqp kdlfm3nhnjo'nqp rs-t/ouv3nrs-t/ouv3n

ClasseClasse

(abstração) (abstração)

Instâncias da classeInstâncias da classe

(objetos)(objetos)

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

wdxfy3zhzj{'zq| wdxfy3zhzj{'zq| }~-/{€3z}~-/{€3z

z Classes

y coleção de dados e métodos que operam sobre

estes dados.

y Pode ser vista como um “molde” de um objeto.

z Objetos

y instância particular de uma classe.

y Preenche o “molde” com características únicas.

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

‚dƒf„3

h j†' ‡†"ˆ ‚dƒf„3 h j†' ‡†"ˆ ‰Š„$‹R„‰Š„$‹R„

z z Java oferece recursosJava oferece recursos linguísticoslinguísticos para especificarpara especificar

(descrever) classes:(descrever) classes:

classclass Nome_da_ClasseNome_da_Classe {{ atributos atributos métodos métodos }} OBS: o corpo de uma classe é delimitado pelos símbolos { e }, eOBS: o corpo de uma classe é delimitado pelos símbolos { e }, e corresponde à descrição dos atributos e métodos da classe. corresponde à descrição dos atributos e métodos da classe.

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

¤d¥f¦3§h§j¨'§‡¨"© ¤d¥f¦3§h§j¨'§‡¨"© ªŠ¦$«R¦ªŠ¦$«R¦

class class CarroCarro { { StringString cor, modelo;cor, modelo; double double velocidade =velocidade = 1.0;1.0; String String placa;placa; voidvoid acelerar(acelerar( doubledouble fator)fator) { { velocidade = velocidadevelocidade = velocidade * fator;* fator; }} voidvoid parar()parar() { { acelerar(1.0);acelerar(1.0); (^) }} } } atributos métodos POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

·'¸¹"º)»(¼f½Z¾¹·'¸¹"º)»(¼f½Z¾¹ ¿d¼fÀ3ÁÂÁ¹¿d¼fÀ3ÁÂÁ¹

class Circulo

double x, y;

double r;

double circunferencia() { return 2 * 3.14159 * r; }

double area() { return 3.14159 * r * r; }

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

ÃÄ-Å/ÆÇ%È3É ÃÄ-Å/ÆÇ%È3É

z Questões importantes

y como encontrar objetos? y como descrever objetos? y como descrever os relacionamentos entre objetos? y como usar^ os objetos para estruturar programas? POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

ÊËÈÌÈZÆ"ÍRÎÈÍ$ÇÐÏÑÏÃÄ-Å/ÆÇÈ3É\Ò ÊËÈÌÈZÆ"ÍRÎÈÍ$ÇÐÏÑÏÃÄ-Å/ÆÇÈ3É\Ò

z O sistema computacional deve:

y Fornecer respostas a questões do mundo exterior. x ex. computação para resolver um problema. y Interagir com o mundo exterior. x ex. sistema de controle de processo. y Criar novas entidades no mundo exterior. x ex. Editor de Texto.

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA ÷ËøùøZúû'üjýþ/ûRÿRû"þ ÷ËøùøZúû'üjýþ/ûRÿRû"þ/û/û%ø3ü%ø3ü 

A descrição de objetos no mundo

computacional consiste em mapear os

objetos reais em objetos computacionais e

escrever programas que dão vida a estes

objetos em um sistema computacional.

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA ÷ËøùøZúû'üjýþ/ûRÿRû"þ ÷ËøùøZúû'üjýþ/ûRÿRû"þ/û/û%ø3ü%ø3ü 

z A descrição de objetos deve ser:

y completa y precisa y não ambígua y independente de representação física

z Uma solução é:

x A teoria de Tipos Abstratos de Dados – TAD

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA     !"#$!"#$ Precisam conhecer a forma como as estruturas estão implementadas

OPERAÇÕES ESTRUTURAS

São implementadas para permitir que as operações sejam realizadas de forma eficiente “Toda ED utilizada em um programa deve estar intimamente associada às operações que realizam o acesso a ela, e vice-versa”. z Em Programação Estruturada: POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA %'&)(+-,/./01012-.4365-0178(+9;:/</%'&)(+-,/./01012-.4365-0178(+9;:/</ Problema Esquema Mundo Real Visão Abstrata = = >?@AB>?@AB CDEFD@GHCDEFD@GH I"FG#@$CKJI"FG#@$CKJ =6ALIMC=6ALIMC

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA ‡6ˆL‰‡6ˆL‰ Š-‹ŒŽ+VŒVŽ+‘“’V”–•—‘˜’Q™˜‹ šœ› ”Ž+‘˜ž+Ÿ˜”+‹ ¡ Œ”+Ž¢‘˜£+” ¤-¥ › ™“¦¨§V‹ŒŽ‘˜Œ™“’V”–•¨‘˜’V™˜‹ ‡ ‡ ©ª«ˆ¬©ª«ˆ¬ ®¯°®«±²®¯°®«±² ‰"°±#«$K³‰"°±#«$K³ ‡6ˆL‰M‡6ˆL‰M POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA ‡ ‡ ©ª«ˆ¬©ª«ˆ¬ ®¯°®«±²®¯°®«±² ‰"°±#«$‰"°±#«$ zz TADTAD inteirointeiro

DadosDados

nn /* [-/+] seqüência de caracteres numéricos// [-/+] seqüência de caracteres numéricos*/

OperaçõesOperações

construtorconstrutor /* cria instância de inteiro // cria instância de inteiro */

soma (k)soma (k) /*cria um novo inteiro: n+k //cria um novo inteiro: n+k */

sub (k)sub (k)^ /* cria um novo inteiro: n-k // cria um novo inteiro: n-k */

atribui (k)atribui (k)^ /* atribui o valor k para n // atribui o valor k para n */

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA ´ ´ μ¶·¸¹μ¶·¸¹ º»¼½»·¾¿º»¼½»·¾¿ À"½¾#·$ºÀ"½¾#·$º zz^ TADTAD^ inteirointeiro

intint^ i,j,ki,j,k

i=1;i=1;

j=2j=

k=i+jk=i+j

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA ´ ´ μ¶·¸¹μ¶·¸¹ º»¼½»·¾¿º»¼½»·¾¿ À"½¾#·$ºÀ"½¾#·$º zz^ TADTAD^ inteirointeiro

yy^ intint^ i,j,ki,j,k =>=>^ o compilador executa a operação de definição dao compilador executa a operação de definição da

instância dos objetos ou operação construtora.instância dos objetos ou operação construtora.

yy i = 1 => i.atribui(1)i = 1 => i.atribui(1)

yy^ j= 2 => j.atribui(2)j= 2 => j.atribui(2)

yy k = i + j => k.atribui(i.soma(j))k = i + j => k.atribui(i.soma(j))

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA Objeto 1 Dados Objeto 4 Dados Objeto 3 Dados Objeto 2 Dados

ý/þý/þÿ ý/þý/þÿÿÿ;þ;þ þ  þ               pÿpÿpÿpÿ ØþØþØþØþ           ÝÿÝÿßþÝÿÝÿßþþ þ     ÿÿ ÿ  ÿ 

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

88 $9)2;:=<>"363735$9)2;:=<>"363735 ?@"%$&"?@"%$&" 8 BAC 8 BAC 2 3<950/ 2 3<950/

z Orientação para Objetos

y É o resultado da união inseparável entre uma estrutura de dados e todas e todas as operações associadas.

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

DBE9FG;H=I>J3K3L3M DBE9FG;H=I>J3K3L3M N@J%E&JN@J%E&J DBOPG3I9M0QDBOPG3I9M0Q

z z Objetos e MétodosObjetos e Métodos

OBJETO Atributos Métodos POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

DBE9FG;H=I>J3K3L3M DBE9FG;H=I>J3K3L3M N@J%E&JN@J%E&J DBOPG3I9M0QDBOPG3I9M0Q

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

‚Bƒ  „†

‡0ˆ‰ ‰3Šˆ ‹ ‰;Œˆ

3”•—–^

‚Bƒ „†

‡0ˆ‰ ‰3Šˆ ‹ ‰;Œˆ ™ “%š;›œ† ‡0ˆ‰Š‹

3”•—–^

z z Os Objetos são criados em tempo deOs Objetos são criados em tempo de

execuçãoexecução

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

z Chamadas a procedimentos;

z São executados pela requisição de uma

mensagem;

z É formado por:

y interface (nome, tipo de dados dos

argumentos e valores retornados);

y implementação (algoritmo do método).

´μ´μY¶· ´μ´μY¶·¶·[μ¶·[μ μ ¸ μ ¸ ¸ ¹ ¸ ¹ ¹ ¸ ¹ ¸ ¸ º ¸ º º º»¶»¶»¶»¶ ¼μ½¾¼μ½¾¼μ½¾¼μ½¾ ¿¿¿À¿À À ¸Á À ¸Á¸Á¸¸Á¸ ¸ ¶¸Â¶Â¶μ¼Â¶μ¼μ¼Ãμ¼à à ľÀ à ľÀľÀi¶Ä¾Ài¶ ¶ Å ¶ Å ÅÅ

ÆBÇ9ÈÉ;Ê=Ë>Ì3Í3Î3ÏÆBÇ9ÈÉ;Ê=Ë>Ì3Í3Î3Ï^ Ð@Ì%Ç&ÌÐ@Ì%Ç&Ì^ ÆBÑÒÉ3Ë9Ï0ÓÆBÑÒÉ3Ë9Ï0Ó

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

ÔÖÕ ÔÖÕ-¤-¤ šš •• šš TT Š>T’׊>T’× ŠŠ RR ¦¦ TT

z Construtor y criação / inicialização y Método que atribui valores default (padrões) para os atributos de um objeto. z Destrutor y término y Método que libera o espaço ocupado pelo objeto da memória.

ØÙØÙYÚÛ ØÙØÙYÚÛÚÛ[ÙÚÛ[Ù Ù Ü Ù Ü Ü Ý Ü Ý Ý Ü Ý Ü Ü Þ Ü Þ Þ ÞßÚßÚßÚßÚ àÙáâàÙáâàÙáâàÙáâ ãããäãä ä Üå ä ÜåÜåÜÜåÜ Ü æÚÜæÚæÚÙàæÚÙàÙàçÙàç ç èâä ç èâäèâäiÚèâäiÚ Ú é Ú é éé

êBë9ìí;î=ï>ð3ñ3ò3óêBë9ìí;î=ï>ð3ñ3ò3ó^ ô@ð%ë&ðô@ð%ë&ð^ êBõöí3ï9ó0÷êBõöí3ï9ó0÷

POOPOO usandousando JAVAJAVA Rosiane deRosiane de FreitasFreitas RodriguesRodrigues,, ProfaProfa. M.Sc.. M.Sc. DCC - ICE - UADCC - ICE - UA

¬®øúùû³ýü«þ{øÿù²³¬®øúùû³ýü«þ{øÿù²³

z (^) Mensagens possibilitam a interação entre os objetos; z Requisição para a ativação de um método; z Uma mensagem contém: y nome do método; y argumentos do método. z A resposta a uma mensagem é o resultado da execução do método correspondente.

ØÙØÙYÚÛ ØÙØÙYÚÛÚÛ[ÙÚÛ[Ù Ù Ü Ù Ü Ü Ý Ü Ý Ý Ü Ý Ü Ü Þ Ü Þ Þ ÞÚÚÚÚ àÙáâàÙáâàÙáâàÙáâ ãããäãä ä Üå ä ÜåÜåÜÜåÜ Ü æÚÜæÚæÚÙàæÚÙàÙàçÙàç ç èâä ç èâäèâäiÚèâäiÚ Ú é Ú é éé

êBë9ìí;î=ï>ð3ñ3ò3óêBë9ìí;î=ï>ð3ñ3ò3ó^ ô@ð%ë&ðô@ð%ë&ð^ êBõöí3ï9ó0÷êBõöí3ï9ó0÷