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


Basicos Orientação Objetos Java, Notas de estudo de Informática

Primeiros passos em programação com Java

Tipologia: Notas de estudo

2011

Compartilhado em 24/10/2011

michael-rodrigues-11
michael-rodrigues-11 🇧🇷

1 documento

1 / 25

Toggle sidebar

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

Não perca as partes importantes!

bg1


 !!"#$$$%&'
(()$*)#$$+()$*$,)+$+- 


./012'.1.
12'33133
"   "
'    4225   2'& !
4'6
"2'74& 254   !
  2'    6      8    

9 / 2'94 

"1./725 :8
;8
69<'& =8
2584
813372'258
4 <2' 
2' 7& 4&
"'258
 1.   74  4 25  4  8   >  133   :

2'7 ??3
7   4  25   4      8 
254'
2'8/ 8+@74)
/     4  2'
A2
 B'
 4     &  2'   7  C 7D  
74
4        .  4    4 '  
66

74 :4  '4
81<&/#0
[ palavra-chave ] ‘class’ nome_da_classe
‘{‘
// comportamentos e variáveis são declarados e descritos entre o ‘{‘ e o ‘}’
‘}’
+ B   !          !E ! " #$$$
% 
# 1 2'  2'  / &0      '      6 
)  :> :' :
>88':<&444'
8)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Pré-visualização parcial do texto

Baixe Basicos Orientação Objetos Java e outras Notas de estudo em PDF para Informática, somente na Docsity!



           !!"  #$$$%   &  ' (()$)#$$+()$$,)+$+-          

 A        2     

      B   '          

 4          &   2'    7  C  7D  

[ palavra-chave ] ‘class’ nome_da_classe ‘{‘ // comportamentos e variáveis são declarados e descritos entre o ‘{‘ e o ‘}’ ‘}’

+ B    !           !E ! "   #$$$ %      # 1    2'   2'   /  &0           '             6    )       :>     :   ':          > 8     8 ':  < &44     4 '     8) 

F       4               

   G 

   7    8          44      0 H 

H  !    !"

#    H I  :     4   & 

4 4   44  JK <'      2'

    : 8 & :  L   4 

<             4 7         8   G

"    4:)    8   G

public class MinhaClasse { }

"    4           $%A   G 4'7      " 4             G    G   F            4     /         G   G  !   4  4    HMIG  M  HIG           G  

   ! 4         

'  & 2'  .  :  C )D4 C )   D    

   !"           '    &  

 )    4   )                     

.   )    &  44  9< :'                    ' &   8  4       :     2'  )        :     

  CD <    7  8       3 2  H& H    H' I

    

;7 N  1&    / 0

‘new’ construtor

3 (4    !< 7   2'  : &  :  '3  (     0  4 7  7  4  :;  & 6   68 4   &     1   2' /   0

class Pessoa{ } class ProgramaExemplo{ public static void main(Strings parametros[]){ Pessoa umaPessoaQualquer; // declara uma variável que pode armazenar objetos // do tipo Pessoa (definido na classe anterior) umaPessoaQualquer = new Pessoa(); // cria uma nova pessoa e coloca-a na // variável umaPessoaQualquer } }

(^3) Pacote é o nome dado a uma biblioteca de classes desenvolvidas na linguagem Java.

K <  G :       

class Empregado{ public String nome; // seu nome (visível à qualquer classe) private double salario; // seu salário (inacessível fora da classe) protected int idCargo // código do cargo (acessibilidade padrão) }

  "       "    P B    ' &            %      "2 3         1         &   0   4  <            4 2 3  )3     2'  5                     2'    5       /   0 public class Corpo{ public Olho olhoEsquerdo,olhoDireito; private Coração coração; private Pulmão pulmãoEsquerdo, pulmãoDireito; }

3  1  5   'G 4        ' 6  44    8  2 3   31    35   '   4    :' 4         '            K          G    2' 5 = M  <' P

#"  

9<   &     )    0 "    (    (   

K <& " 2'   4  7   8      4 '   "    &    &25   : 8 4     4  8 ' 8     / 2'

3 /      <     "  4       '    &     2'7          'G   2' <         8     8          8  4               G   8   '

class Empregado{ final int FAXINEIRO = 1; final int PROGRAMADOR = 2; final int GERENTE = 3; int idCargo = PROGRAMADOR; }

K < &   88 E         / 2'   "   : &  4          4   

K       8    & :  8  K                   /      2'"   7     ' K <'         :  6  

      4 ' 8&  2'  &2'    4  .  ' 84  25   .B  

   $  %  &

;     7        N 7  8         3    N    '     '=  Q  7    4       /  2' 4    ;  N747 ( 7  644      6

9  / 0

class Empregado{ public int cargo; public void contrataComoProgramador(void){ cargo = 2; // Dois é o código de programador } }

1   7    =  4   77           4   8 

" /       7         &2'           

K <4   7 <    < 8     4       ;&   8    /       H$I:    4  0

class Empregado{ public int cargo; public void contrataComoProgramador(void){ cargo = 2; // Dois é o código de programador } } class ProgramaExemplo{ // Esse programa utiliza a classe Empregado (anterior) public static void main(String parametros[]){ Empregado empregado = new Empregado(); // cria um objeto empregado

empregado.cargo = 2; // muda o atributo cargo de um empregado } }

"   20 7  1    &   > 8  7   )1-       .  &       $!   4< 8  8            ! 4    48           . 27 8    < 44  4       2'   0 class ProgramaExemplo2{ // Esse programa utiliza a classe Empregado (anterior) public static void main(String parametros[]){ Empregado empregado1 = new Empregado(); Empregado empregado2 = new Empregado(); Empregado empregado3 = new Empregado(); Empregado empregado4 = new Empregado();

empregado1.cargo = 3; // muda o cargo do empregado1 para gerente empregado2.cargo = 1; // muda o cargo do empregado2 para faxineiro empregado3.cargo = 2; // muda o cargo do empregado3 para programador empregado4.cargo = 2; // muda o cargo do empregado4 para programador } }

.  /    48  &)+$3 E3EF' 

: &     4 5    &2'      '       G   A  

G   /2' EM"U3-A3-9.E3%  /  7      4  

G #$>

# L   8             4       <   

  &        :4  '  = K  

[ ( ‘public’ | ‘private’ | ‘protected’ ) ] ( [ ‘abstract’ ] | [ ‘final’ ] [ ‘static’ ] [ ‘native’ ] [‘synchronized’ ] ) tipo_de_retorno nome_do_método ‘(‘ [ lista_de_parâmetros ] ‘)’ corpo_do_método

  2'    7           7           9                       .   "    "       - 2 3  4  7   / 25  '     3 77  4  ' /   4   7 7      7 3     7 7           &'

3 7  ).     4 ' )    

1        7 8          .          4   7   74 7' 3   6      '0

+ ;     0= "    > # ; <  4  8 > J 34 7' 

;    <      )<        7 1   >     93  <     <   8     6       8   7    . $   4  7 7        / 5   6              4 <                   <   .            +       ,

  '    /      7 0

  • int contaAté(int limite) Declara um método chamado contaAté , que recebe um parâmetro em uma variável chamada limite e retorna um valor decimal inteiro ( int ) após o processamento.
  • int soma(int a, int b) Declara um método chamado soma , que recebe dois parâmetros decimais inteiros: o primeiro na variável a e o segundo na variável b. Após o processamento a função retorna um valor decimal inteiro ( int ).
  • void imprime(String texto) Declara um método chamado imprime , que recebe um parâmetro do tipo String na variável texto. A função processa e não retorna valor para quem a chamou.
  • float sorteiaNota(void) Declara um método chamado sorteiaNota , que não recebe parâmetro algum e retorna um número de ponto flutuante (natural, com vírgula), do tipo float , para quem a chamou.

9   /  7 4  0

int soma(int limite) Assinatura do método

{ // início do corpo do método int total; for (int i = 1; i<= limite; i++) total += i; return total; } // fim do corpo do método

Corpo do método

"   G /          =    7.     4  

7         G      7     4   7 

     N     

37 )  H& IK  )    7   4  / 

        2'  N            G   /      +  

    N     3   7   4   )   H ' I

'  $ (  & 

1   7   &          7 3 7        )    8         N    )   '       4   71    /   4 <  7 &)4 G  4 <   & 4       73:  7 8&)4 G  4 <   &437 8 &)4      4    7      8   N      :           7    &)4     4     9   / 0 class Matemática { float raizQuadrada (float numero){ float b = numero * numero; // código que calcula a raiz quadrada do número passado como parâmetro } } class ProgramaExemplo { public static void main(String argumentos[]) { Matematica funcoesMatematicas = new Matematica; float resultado, numero = 20; // calcula a raiz-quadrada do número 10: resultado = funcoesMatematicas. raizQuadrada(10) ; System.out.println(“A raiz-quadrada de 10 é: “ + resultado); // calcula a raiz-quadrada da variável número (que vale 20): resultado = funcoesMatematicas. raizQuadrada(numero) ; System.out.println(“A raiz-quadrada de “ + numero + “ é: “ + resultado); } }

! "     

9< &                2'    70        3        4'  6    7 7   :          3     6  =   6  3  7         

K <3     "     &6   ' & 4  7 :    7             

K <&        :      70

class Matemática { private int fatorial(int numero){ if(n == 0) return 1; // fatorial de zero é 1 int produto = 1; for(int i = 2; i <= numero; i++) produto *= i; return produto; } int permutação(int n, int r){ return fatorial(n) / fatorial(n – r); } }

K   7    /   7" 37" 77  7  2 3  4   /) /  2'                7  2 3  ' &  4       )  & ) Q7 /       7             A  7              25  '      '  4  8  7 <)&  8  2'

K < 7&)   7)  6   44   

;7     77 6 '    20        4      8 )

#"  

3    7 6     '   0  " (   (  (= 

K <&)     < 8  4  2'        7!  4   7 7 7      ; 7 '         "     =     

K  <   7 "      4    '     )     )  )   

K < 7    8   8  7   ' 7                   4       2 '   "       :  8         K   )   '  &  7 7    7  NW   8 44  7      

 )           4     7    XX  8 &     6  4AFF"        7    

    < &    =   &            / 2' &  / 7

  %  

M7   N ' 7   .  7      N         1 7  N'   4 )    

K  7  N N 4        N     6  N    PK       0 01 class Empregado { 02 private double salario; 03 void ajustaSalario(double salario){ // observe que salario já existe // como atributo de classe! 04 this.salario = salario; // coloca o conteúdo do parâmetro no atributo 05 } 06 }

"   7% 0 N  " 4 8      8         "  2'4  < N 8  8  /   < 4 & / .  )          :)   Q < &   / < &  0C       7  D3   : <   4 / 

 &2' 7  N    < 8 7:         K <   7   7   7    N   <        7            < 0% 0/+AB@$@@,./ 0

class Empregado { private double salario; void ajustaSalario(double salario){ this.salario = salario; } void aumentaDezPorcento(void) { // outro método de instância da mesma classe double novoSalario = salário + salário * 0.1; ajustaSalario(novoSalario); // chama um método da mesma classe } }

K <    &74               4 774 <     &   8)0 class ClasseUm { private boolean atributoQualquer; public void metodo(boolean valor){ // método a ser chamado por outra classe atributoQualquer = valor; } } class OutraClasse { void outroMetodo(void){ ClasseUm objeto = new ClasseUm(); objeto.método (true); // chama o método através do objeto new ClasseUm().metodo(false); // chama o método através do objeto } }

K 7 '     )  < 7 

 N         7  

)    *   * 

7     '     N   7      N./     0      ">

    & :     :7  '7 .            '   !    4          7  &  2    G    N   8   ' '  74  & 

.      ">     <   2   6  7  7              8)  

)  *  

A  G  7  4         7       N       7  7             "          7  4   G        7       G         7   2'      9   /   0 void imprimir(){ System.out.println(“Impressão padrão”); } void imprimir(String argumento){ System.out.println(argumento); } 

3 /     7      3  7       7 N            +,    7    /      C38D 7 

D>            >     $ )                   "   "'   <            9  / 0

int somar(int x, int y){ return x + y; } lont somar(int x, int y){ return x + y; } 

"  G '  47   8 

   $   &

   7  7   4  7        ( 4         A  <  ::C &D &2' 1  7           N          .                 "   7     3            2'

9<   1  

class Empregado { private int numeroDeEmpregados; private double salario; public void ajustaNumeroDeEmpregados(int numeroDeEmpregados){ this.numeroDeEmpregados = numeroDeEmpregados; } void ajustaSalario(double salario){ this.salario = salario; } }

class Exemplo { public static void main(String listaDeArgumentos[]){ Empregado e = new Empregado(); } }

 1  ?  ( 1  +,1   )8   4   7 7   1   3 1  +, 4           ( 7          (   )  " 74   9    1   3 /   2 3      Y34  8  PB   4<'              )'       &   N  3  / 0

class X { }

.    &  ' 8"   /  E   0

class X { X () { } }

3    '4    /     F  <         3      )'    0

class X { private int i;

X (int i) // Explicitamente declara um construtor com argumentos { this.i = i; } } class UsaX { public static void main(Strings listaDeArgumentos[]){ X x1 = new X(2); X x2 = new X(); // ERRO: não existe construtor sem argumentos na classe X! } }

"   /     )'      2' 4 ' 8 )'

9<  G     MG    6   &2'       &2'0

class Circulo { private int x, y, r;

Circulo() // declara um construtor sem argumentos { // System.out.println(“Antes”); this(0,0,1); System.out.println(“Depois”); }

class Carro { private String marca; private String modelo; private String fabricante; Carro(String marca, String modelo, String fabricante) { this.marca = marca; this.modelo = modelo; this.fabricante = fabricante; } public String retornaMarca() { return marca; } public String retornaModelo() { return modelo; } public String retornaFabricante() { return fabricante; } } class DemostracaoCarro { public static void main(String listaDeArgumentos[]){ Motor m1 = new Motor(“3.8L V6”); Carro c1 = new Carro(“Mustang”, “Conversível”, “Ford”); Motor m2 = new Motor(“Zetec Roçam 1.0”); Carro c2 = new Carro(“Ka”, “Popular”, “Ford”); System.out.println( c1.retornaFabricante() + “ “ + c1.retornaMarca() + “ “ + c1.retornaModelo() + “ “ + m1.retornaTipo() ); System.out.println( c2.retornaFabricante() + “ “ + c2.retornaMarca() + “ “ + c2.retornaModelo() + “ “ + m2.retornaTipo() ); }

M Y3:       25   4      1  :            0          '        

" 7& 4         .   8   5 .  :  4  '5     7 6     O 2'  9< 8 7 YP3                          2'              L /      2 '0 2 3   % 

,  -

.   5    K: /          '         5  61           25               7  6  4  8    & 3    7    2 3  2 3 

 :  0

class Motor { // atributos e métodos que identificam a estrutura de um motor } class Veículo { Motor motor; // define uma variável que armazena um objeto do tipo Motor Veículo(Motor m) { motor = m; } }

.  /  :   0   D F D F  

 63 D F+   ,&    

   G  N      A     &   2'    

     4       &2'D F 

4 <        D F   < &

    D F4      P   8

Motor m = new Motor(); // cria um novo motor e coloca na variável motor Veículo v = new Veículo(m); // cria um novo veículo, passando o motor para ele

" /                   2 = 8              4 D F    24  8 8  D F    G8     "   D F   8 7        D F 2'      7      0

"   <    4  /      0     D F 4  8    

8    4 7    D F6  

D F    

U 27        6   7":   

          ; )/1E          

&  7   N  6        7  /  A    

J  K GLB  7  N  6   7  K      

    6        '   N 

 6     74   0 D F.    

  ' 6     4  &  25     )/1E 

  J  K GLB        D F

Veículo

Motor

Veículo

Motor

v

motor

class Ponto { private double x, y; Ponto(double x, double y) { this.x = x; this.y = y; } double retornaX() { return x; } double retornaY() { return y; } } class Circulo extends Ponto { private double raio; Circle(double x, double y, double raio) { super(x, y); // Chama Ponto(double x, double y) this.raio = raio; } double retornaRaio() { { return raio; } }

3:      0)  ) 7 4        4  ' 7     4         /  /       )     )  ' 7         6  6 7   4      K  <            <           

.   4      <  0- =  .          3     '    )     )   '      4      )! 4       7 "    /      7  M

;               4      '       " 1 /   2' )   " )     F  &5    2  < 4   4     '       )  "

 /  2   4 <           '    2'   2 G!  4                 2'       ' !   /     )      4          Q   )     P3     7K  7  6          N      4       P1           2'  2G

raio

x e y

Camada do Ponto

Camada do Circulo

=,       )         G  8   -  = L      

 )  ' : )   8 ) F&   -  

K 4 < 4       4 7 +- =,> : <

  34   P3  ! 4    

-        K  < '             

7          N      

class Ponto { void desenha() { System.out.println(“Eu sou um ponto.”); } } class Circulo extends Ponto { void desenha() // re-declara ou re-escreve o método { System.out.println(“Eu sou um círculo.”); } }

A :   /  <   7  +, '  C1   F$I8  0

Circulo c = new Circulo(); c.desenha();

.   '  ) 7  +, ::<   C1    $D7 

 4 <  7   4  < 7       !  7 4 <4      7 4      =    '=  <  &  P  <     :  0