SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Orientação a Objetos Básica ,[object Object],[object Object]
Classe e Objeto
Classe e Objeto ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Classe e Objeto ,[object Object],[object Object],[object Object]
Classe e Objeto class   Conta   { int   numero ; String   nome ; double   saldo ; double   limite ; // .. }
Instanciação de Objetos ,[object Object],[object Object],[object Object],[object Object],// Declaração da variável "s" String   s ; // Criação da variável atribuída a "s" s   =   new   String (); // Declaração da variável "p" e // criação da variável atribuída a "p" Pessoa   p   =   new   Pessoa ();
new ,[object Object],[object Object]
Atributos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Usando uma outra Classe class   Programa   { public   static   void   main ( String []   args )   { Conta   minhaConta  =   new   Conta (); minhaConta . nome   =   "Duke" ; minhaConta . saldo   =   1000.0 ; System . out . println ( "Saldo atual: "   +   minhaConta . saldo ); } }
Métodos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Métodos class   Conta   { int   numero ; String   nome ; double   saldo ; double   limite ; void   saca ( double   valor )   { this . saldo   =   this . saldo   -   valor ; } void   deposita ( double   valor )   { this . saldo   =   this . saldo   +   valor ; } double   consultaSaldo ()   { return   this . saldo ; } }
Retorno de Métodos ,[object Object]
Retorno de Métodos class   Conta   { int   numero ; String   nome ; double   saldo ; double   limite ; boolean   saca ( double   valor )   { if   ( this . saldo   <   valor )   { return   false ; } else   { this . saldo   =   this . saldo   -   valor ; return   true ; } } void   deposita ( double   valor )   { this . saldo   =   this . saldo   +   valor ; } double   consultaSaldo ()   { return   this . saldo ; } }
Usando a classe Conta class   Programa   { public   static   void   main ( String []   args )   { Conta   minhaConta   =   new   Conta (); minhaConta . nome   =   &quot;Duke&quot; ; minhaConta . saldo   =   1000 ; boolean   consegui   =   minhaConta . saca ( 2000 ); if ( consegui ){ System . out . println ( &quot;Consegui sacar&quot; ); }  else  {  System . out . println ( &quot;Não consegui sacar&quot; ); } } }
Criando instâncias da classe Conta class   TestaDuasContas   { public   static   void   main ( String []   args )   { Conta   minhaConta  =   new   Conta (); minhaConta . saldo   =   1000 ; Conta   meuSonho =  new   Conta (); meuSonho . saldo   =   1500000 ; } }
Referência ,[object Object],[object Object]
Referência
Referência ,[object Object],[object Object],[object Object],[object Object],Conta   c1 ; c1   =   new   Conta (); Conta   c2 ; c2   =   new   Conta ();
Referência – Qual o resultado? class   TestaReferencias   { public   static   void   main ( String   args [])   { Conta   c1   =   new   Conta (); c1 . deposita ( 100 ); Conta   c2   =   c1 ; c2 . deposita ( 200 ); System . out . println ( c1 . saldo ); System . out . println ( c2 . saldo ); } }
Referência Conta   c1   =   new   Conta (); Conta   c2   =   c1 ;
Referência  this ,[object Object],[object Object],[object Object]
Igualdade de objetos ,[object Object],[object Object],[object Object],class   VerificaIgualdade   { public   static   void   main ( String   args [])   { Conta   c1   =   new   Conta (); c1 . nome   =   &quot;Duke&quot; ; c1 . saldo   =   227 ; Conta   c2   =   new   Conta (); c2 . nome   =   &quot;Duke&quot; ; c2 . saldo   =   227 ; if   ( c1   ==   c2 )   { System . out . println ( &quot;Contas iguais&quot; ); } } }
Igualdade de objetos ,[object Object]
Criando o método transfere
Criando o método transfere class   Conta   { // atributos e metodos... void   transfere ( Conta   destino ,   double   valor )   { this . saldo   =   this . saldo   –   valor ; destino . saldo   =   destino . saldo   +   valor ; } }
Um método usando outro
Um método usando outro class   Conta   { // atributos e metodos... boolean   transfere ( Conta   destino ,   double   valor )   { boolean   retirou   =   this . saca ( valor ); if   ( retirou   ==   false )   { // não deu pra sacar! return   false ; } else   { destino . deposita ( valor ); return   true ; } } }
Passagem de Parâmetros ,[object Object],[object Object]
Inicialização de Atributos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],class   Conta   { int   numero   =   1234 ; String   dono   =   &quot;Duke&quot; ; String   cpf   =   &quot;123.456.789-10&quot; ; double   saldo   =   1000 ; double   limite   =   1000 ; // ... }
Associação
Associação – Composição  class   Cliente   { String   nome ; String endereco ; String   cpf ; Conta conta; } class   Conta   { int   numero ; double   saldo ; double   limite ; Cliente dono ; // .. } class   Teste   { public   static   void   main ( String []   args )   { Conta   minhaConta   =   new   Conta (); Cliente   c   =   new   Cliente (); minhaConta . dono   =   c ; c.conta = minhaConta; // ... }   }
null ,[object Object]
Construtores Ver Cap. 6 da apostila da Caelum ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Construtores ,[object Object],[object Object],// Construtor da classe Pessoa Conta (String nome,   double   saldo )   { this . nome   =   nome ; this . saldo   =   saldo ; } Conta   c   =   new   Conta (&quot;Maria&quot;, 1000);
Construtores Múltiplos ,[object Object],[object Object],[object Object],// Construtores múltiplos public   Conta (String nome,  double   saldo ,   double   limite )   { this . nome   =   nome ; this . saldo   =   saldo ; this . limite   =   limite ; } public   Conta ( Conta   c )   { this .nome   =   c . nome ; this . saldo   =   c . saldo ; this . limite   =   c . limite ; } public   Conta ()   {   }
Construtores Múltiplos ,[object Object],[object Object],[object Object],// Construtores múltiplos public   Conta (String nome,  double   saldo ,   double   limite )   { this . nome   =   nome ; this . saldo   =   saldo ; this . limite   =   limite ; } public   Conta ( Conta   c )   { this (c.nome, c.saldo, c.limite) ; } public   Conta(String nome)   {   this (nome, 0, 0);   } public   Conta ()   {   }
Exercícios ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercício ,[object Object],[object Object]
Referências e Recursos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Programação Funcional com Java 8
Programação Funcional com Java 8Programação Funcional com Java 8
Programação Funcional com Java 8Cristian R. Silva
 
Programação funcional com java 8
Programação funcional com java 8Programação funcional com java 8
Programação funcional com java 8Leonardo Neuwald
 
JSP - Expression Language
JSP - Expression LanguageJSP - Expression Language
JSP - Expression LanguageAntonio Passos
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosLudimila Monjardim Casagrande
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaodiogoa21
 
Grails - Destaques (para quem já sabe Java)
Grails - Destaques (para quem já sabe Java)Grails - Destaques (para quem já sabe Java)
Grails - Destaques (para quem já sabe Java)Douglas Mendes
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoPaulo Morgado
 
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...Manuel Menezes de Sequeira
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
Java script - document object model
Java script - document object modelJava script - document object model
Java script - document object modelGabriel Coelho
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Jeison Barros
 

Was ist angesagt? (20)

Programação Funcional com Java 8
Programação Funcional com Java 8Programação Funcional com Java 8
Programação Funcional com Java 8
 
Programação funcional com java 8
Programação funcional com java 8Programação funcional com java 8
Programação funcional com java 8
 
Aula5
Aula5Aula5
Aula5
 
Fundamentos de C#
Fundamentos de C#Fundamentos de C#
Fundamentos de C#
 
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 
POO - 20 - Wrapper Classes
POO - 20 - Wrapper ClassesPOO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
 
JSP - Expression Language
JSP - Expression LanguageJSP - Expression Language
JSP - Expression Language
 
POO - 07 - Operadores do Java
POO - 07 - Operadores do  JavaPOO - 07 - Operadores do  Java
POO - 07 - Operadores do Java
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
Grails - Destaques (para quem já sabe Java)
Grails - Destaques (para quem já sabe Java)Grails - Destaques (para quem já sabe Java)
Grails - Destaques (para quem já sabe Java)
 
Java 8 - New Features
Java 8 - New FeaturesJava 8 - New Features
Java 8 - New Features
 
Design OO
Design OODesign OO
Design OO
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPonto
 
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
 
Java 14
Java 14Java 14
Java 14
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Java script - document object model
Java script - document object modelJava script - document object model
Java script - document object model
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2
 

Ähnlich wie Orientação a Objetos Básica

Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetrosMaurício Linhares
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosArthur Emanuel
 
Construtores_Sobrecarga.pptx
Construtores_Sobrecarga.pptxConstrutores_Sobrecarga.pptx
Construtores_Sobrecarga.pptxJoberthSilva
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresMoises Omena
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Curso avançado de c++ em portugues
Curso avançado de c++ em portuguesCurso avançado de c++ em portugues
Curso avançado de c++ em portuguesLaura
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecasMaurício Linhares
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaArthur Emanuel
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Mario Jorge Pereira
 
JavaScript - Objectos e Arrays
JavaScript - Objectos e ArraysJavaScript - Objectos e Arrays
JavaScript - Objectos e ArraysValter Cinquenta
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)jose-junior89
 

Ähnlich wie Orientação a Objetos Básica (20)

Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
POO.pdf
POO.pdfPOO.pdf
POO.pdf
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a Objetos
 
Construtores_Sobrecarga.pptx
Construtores_Sobrecarga.pptxConstrutores_Sobrecarga.pptx
Construtores_Sobrecarga.pptx
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - Construtores
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Aula5
Aula5Aula5
Aula5
 
DDD > Experiências
DDD > ExperiênciasDDD > Experiências
DDD > Experiências
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Curso avançado de c++ em portugues
Curso avançado de c++ em portuguesCurso avançado de c++ em portugues
Curso avançado de c++ em portugues
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
JavaScript - Objectos e Arrays
JavaScript - Objectos e ArraysJavaScript - Objectos e Arrays
JavaScript - Objectos e Arrays
 
Arrays
ArraysArrays
Arrays
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
 

Mehr von Regis Magalhães

Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Regis Magalhães
 

Mehr von Regis Magalhães (20)

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 

Orientação a Objetos Básica

  • 1.
  • 3.
  • 4.
  • 5. Classe e Objeto class Conta { int numero ; String nome ; double saldo ; double limite ; // .. }
  • 6.
  • 7.
  • 8.
  • 9. Usando uma outra Classe class Programa { public static void main ( String [] args ) { Conta minhaConta = new Conta (); minhaConta . nome = &quot;Duke&quot; ; minhaConta . saldo = 1000.0 ; System . out . println ( &quot;Saldo atual: &quot; + minhaConta . saldo ); } }
  • 10.
  • 11. Métodos class Conta { int numero ; String nome ; double saldo ; double limite ; void saca ( double valor ) { this . saldo = this . saldo - valor ; } void deposita ( double valor ) { this . saldo = this . saldo + valor ; } double consultaSaldo () { return this . saldo ; } }
  • 12.
  • 13. Retorno de Métodos class Conta { int numero ; String nome ; double saldo ; double limite ; boolean saca ( double valor ) { if ( this . saldo < valor ) { return false ; } else { this . saldo = this . saldo - valor ; return true ; } } void deposita ( double valor ) { this . saldo = this . saldo + valor ; } double consultaSaldo () { return this . saldo ; } }
  • 14. Usando a classe Conta class Programa { public static void main ( String [] args ) { Conta minhaConta = new Conta (); minhaConta . nome = &quot;Duke&quot; ; minhaConta . saldo = 1000 ; boolean consegui = minhaConta . saca ( 2000 ); if ( consegui ){ System . out . println ( &quot;Consegui sacar&quot; ); } else { System . out . println ( &quot;Não consegui sacar&quot; ); } } }
  • 15. Criando instâncias da classe Conta class TestaDuasContas { public static void main ( String [] args ) { Conta minhaConta = new Conta (); minhaConta . saldo = 1000 ; Conta meuSonho = new Conta (); meuSonho . saldo = 1500000 ; } }
  • 16.
  • 18.
  • 19. Referência – Qual o resultado? class TestaReferencias { public static void main ( String args []) { Conta c1 = new Conta (); c1 . deposita ( 100 ); Conta c2 = c1 ; c2 . deposita ( 200 ); System . out . println ( c1 . saldo ); System . out . println ( c2 . saldo ); } }
  • 20. Referência Conta c1 = new Conta (); Conta c2 = c1 ;
  • 21.
  • 22.
  • 23.
  • 24. Criando o método transfere
  • 25. Criando o método transfere class Conta { // atributos e metodos... void transfere ( Conta destino , double valor ) { this . saldo = this . saldo – valor ; destino . saldo = destino . saldo + valor ; } }
  • 27. Um método usando outro class Conta { // atributos e metodos... boolean transfere ( Conta destino , double valor ) { boolean retirou = this . saca ( valor ); if ( retirou == false ) { // não deu pra sacar! return false ; } else { destino . deposita ( valor ); return true ; } } }
  • 28.
  • 29.
  • 31. Associação – Composição class Cliente { String nome ; String endereco ; String cpf ; Conta conta; } class Conta { int numero ; double saldo ; double limite ; Cliente dono ; // .. } class Teste { public static void main ( String [] args ) { Conta minhaConta = new Conta (); Cliente c = new Cliente (); minhaConta . dono = c ; c.conta = minhaConta; // ... } }
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.