SlideShare uma empresa Scribd logo
Introdução à Análise Orientada a Objetos Prof. Ariovaldo Dias de Oliveira
Apresentações ,[object Object],[object Object]
Tópicos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Paradigmas de programação ,[object Object],[object Object],[object Object]
Paradigmas de programação ,[object Object],[object Object],[object Object],[object Object]
Comparação Procedural X OO Programa Classe Processos Propriedades Métodos Dados
Principais elementos da OO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Atributos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Métodos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo de uma Classe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Em Java: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ao criarmos uma conta, devemos introduzir valores nos atributos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Podemos sacar e depositar um determinado valor, e isso é feito definindo-se dois métodos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O programa principal deve ser alterado para ativar os métodos recém criados ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O método Saca deve verificar se o saque é possível, e  retornar  se a operação foi realizada com sucesso ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O programa principal deve testar se o saque foi possível ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Representação da classe Conta em UML  Conta +número: int +nome:  String  +saldo:  double +limite:  double  +saca (valor: double): boolean +deposita(valor: double) Os sinais na frente dos nomes das variáveis ou dos nomes dos métodos significam
Acrescentar Método  transferePara  na classe Conta ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
No programa principal: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Segue...
boolean consegui = conta1.transferePara(conta2, 12000); if (consegui) { System.out.println("Saque realizado. Novo saldo conta1 = " + conta1.saldo); System.out.println("Novo saldo conta2 = " + conta2.saldo); } else { System.out.println("Saldo de " + conta1.saldo + " insuficiente"); } } }
Nova Representação da classe Conta em UML  Conta +número: int +nome:  String  +saldo:  double +limite:  double  +saca (valor: double): boolean +deposita (valor: double): +transferePara (destino: Conta, valor: double) : boolean
Nova Classe: Cliente ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Alterações na classe Conta: class Conta { int número; double saldo; double limite; Cliente titular = new Cliente ()  ; boolean  saca ...... ...... void deposita ...... ...... boolean  transferePara ..... ...... }
Alterações no programa principal: class Programa { public static void main (String [ ] args) { Conta conta1 = new Conta( ); conta1.titular.nome  = "João "; ...... conta2.titular.nome = " Maria "; ...... System.out.println("Titular da conta1 = " + conta1.titular.nome); System.out.println("Titular da conta2 = " + conta2.titular.nome);  } }
Representação UML das classes Conta e Cliente Conta +número: int +saldo:  double +limite:  double +titular:  Cliente  +saca (valor: double): boolean +deposita(valor: double) +transferePara (destino: Conta,  valor: double) : boolean Cliente +nome:  String +sobrenome: String  +endereço:  String +cpf:  String
Um sistema Orientado a Objetos é um grande conjunto de classes que vão se comunicar, delegando responsabilidade para quem for mais apto a realizar determinada tarefa. A classe  Banco  usa a classe  Conta , que usa a classe  Cliente , que usa a classe  Endereço , etc. Dizemos que esses objetos colaboram, trocando mensagens entre si. Por isso acabamos tendo muitas classes em nossos sistemas, e elas costuma ter um tamanho relativamente curto.
Encapsulamento ,[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
Classe Conta com atributos encapsulados  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Geters e Seters na classe Conta ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
No programa principal: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Nova Representação UML das classes Conta e Cliente Conta +número: int +saldo:  double -limite:  double -titular:  Cliente  +saca (valor: double): boolean +deposita(valor: double) +transferePara (destino: Conta,  valor: double) : boolean +setSaldo(valor: double) +getSaldo ( ): double +setLimite(valor: double) +getLimite( ): double Cliente +nome:  String +sobrenome: String  +endereço:  String +cpf:  String
Atividade 1 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Referências ,[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Java13
Java13Java13
02 2 - modelagem er
02   2 - modelagem er02   2 - modelagem er
02 2 - modelagem er
Elton Costa
 
Php02
Php02Php02
Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03
Ramon Kayo
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
Alex Camargo
 
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POOAula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Cloves da Rocha
 
Introdução ao PHP
Introdução ao PHPIntrodução ao PHP
Introdução ao PHP
Adao Chiavelli
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)
Mario Sergio
 
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POOAula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Cloves da Rocha
 
Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2
Manuel Menezes de Sequeira
 
Php 08 Oo
Php 08 OoPhp 08 Oo
Php 08 Oo
Regis Magalhães
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetos
Cícero Quarto
 
Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07
Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07
Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07
Magic Software Brasil
 
Programação Orientada por Objectos - Aula 1
Programação Orientada por Objectos - Aula 1Programação Orientada por Objectos - Aula 1
Programação Orientada por Objectos - Aula 1
Manuel Menezes de Sequeira
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
Manuel Menezes de Sequeira
 
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
 
Series lab
Series labSeries lab
SCJA
SCJASCJA
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
Ludimila Monjardim Casagrande
 
Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02
Ramon Kayo
 

Mais procurados (20)

Java13
Java13Java13
Java13
 
02 2 - modelagem er
02   2 - modelagem er02   2 - modelagem er
02 2 - modelagem er
 
Php02
Php02Php02
Php02
 
Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
 
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POOAula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
Aula 2 Prof. MSc. Cloves Rocha - PIE - (2018.2) GTI 2 NA - POO
 
Introdução ao PHP
Introdução ao PHPIntrodução ao PHP
Introdução ao PHP
 
Curso de Java (Parte 3)
 Curso de Java (Parte 3) Curso de Java (Parte 3)
Curso de Java (Parte 3)
 
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POOAula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
Aula 2 Prof. MSc. Cloves Rocha BV - (2018.2) CCO 2 MA - POO
 
Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2Programação Orientada por Objectos - Aula 2
Programação Orientada por Objectos - Aula 2
 
Php 08 Oo
Php 08 OoPhp 08 Oo
Php 08 Oo
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetos
 
Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07
Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07
Explorando a Integração com .NET com o Magic xpa – Magic Sem Segredos – S01E07
 
Programação Orientada por Objectos - Aula 1
Programação Orientada por Objectos - Aula 1Programação Orientada por Objectos - Aula 1
Programação Orientada por Objectos - Aula 1
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
 
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...
 
Series lab
Series labSeries lab
Series lab
 
SCJA
SCJASCJA
SCJA
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02
 

Destaque

Analise sistemas 03
Analise sistemas 03Analise sistemas 03
Analise sistemas 03
Caroline Raquel Rodrigues
 
Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05
Danielle Ballester, PMP,PSM,SFC,SDC,SMC,SPOC,SCT
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1
marcosdcmartinsss
 
Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01
Danielle Ballester, PMP,PSM,SFC,SDC,SMC,SPOC,SCT
 
Introdução à análise orientada a objetos parte 3
Introdução à análise orientada a objetos parte 3Introdução à análise orientada a objetos parte 3
Introdução à análise orientada a objetos parte 3
ariovaldodias
 
Uml
UmlUml
Palestra introdução a uml e casos de uso final_parte2
Palestra introdução a uml e casos de uso final_parte2Palestra introdução a uml e casos de uso final_parte2
Palestra introdução a uml e casos de uso final_parte2
marcosdcmartinsss
 
Uma experiência de formação de professores no uso
Uma experiência de formação de professores no usoUma experiência de formação de professores no uso
Uma experiência de formação de professores no uso
Caroline Raquel Rodrigues
 
Analise sistemas 02
Analise sistemas 02Analise sistemas 02
Analise sistemas 02
Caroline Raquel Rodrigues
 
Analise sistemas 07
Analise sistemas 07Analise sistemas 07
Analise sistemas 07
Caroline Raquel Rodrigues
 
Analise sistemas 03
Analise sistemas 03Analise sistemas 03
Analise sistemas 03
Caroline Raquel Rodrigues
 
Analise sistemas 01
Analise sistemas 01Analise sistemas 01
Analise sistemas 01
Caroline Raquel Rodrigues
 
Introdução à Análise de redes: aspectos conceituais fundamentais para o analista
Introdução à Análise de redes: aspectos conceituais fundamentais para o analistaIntrodução à Análise de redes: aspectos conceituais fundamentais para o analista
Introdução à Análise de redes: aspectos conceituais fundamentais para o analista
Dalton Martins
 
Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6
ariovaldodias
 
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
ariovaldodias
 
Introdução à UML com Casos de Uso
Introdução à UML com Casos de UsoIntrodução à UML com Casos de Uso
Introdução à UML com Casos de Uso
Rodrigo Gomes da Silva
 
Analise sistemas 04
Analise sistemas 04Analise sistemas 04
Analise sistemas 04
Caroline Raquel Rodrigues
 
Introdução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte IIIntrodução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte II
Nécio de Lima Veras
 
UML
UMLUML
Introdução a analise de sistemas i
Introdução a analise de sistemas iIntrodução a analise de sistemas i
Introdução a analise de sistemas i
Ray Fran Pires
 

Destaque (20)

Analise sistemas 03
Analise sistemas 03Analise sistemas 03
Analise sistemas 03
 
Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1
 
Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01Análise de Sistemas Orientado a Objetos - 01
Análise de Sistemas Orientado a Objetos - 01
 
Introdução à análise orientada a objetos parte 3
Introdução à análise orientada a objetos parte 3Introdução à análise orientada a objetos parte 3
Introdução à análise orientada a objetos parte 3
 
Uml
UmlUml
Uml
 
Palestra introdução a uml e casos de uso final_parte2
Palestra introdução a uml e casos de uso final_parte2Palestra introdução a uml e casos de uso final_parte2
Palestra introdução a uml e casos de uso final_parte2
 
Uma experiência de formação de professores no uso
Uma experiência de formação de professores no usoUma experiência de formação de professores no uso
Uma experiência de formação de professores no uso
 
Analise sistemas 02
Analise sistemas 02Analise sistemas 02
Analise sistemas 02
 
Analise sistemas 07
Analise sistemas 07Analise sistemas 07
Analise sistemas 07
 
Analise sistemas 03
Analise sistemas 03Analise sistemas 03
Analise sistemas 03
 
Analise sistemas 01
Analise sistemas 01Analise sistemas 01
Analise sistemas 01
 
Introdução à Análise de redes: aspectos conceituais fundamentais para o analista
Introdução à Análise de redes: aspectos conceituais fundamentais para o analistaIntrodução à Análise de redes: aspectos conceituais fundamentais para o analista
Introdução à Análise de redes: aspectos conceituais fundamentais para o analista
 
Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6
 
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
 
Introdução à UML com Casos de Uso
Introdução à UML com Casos de UsoIntrodução à UML com Casos de Uso
Introdução à UML com Casos de Uso
 
Analise sistemas 04
Analise sistemas 04Analise sistemas 04
Analise sistemas 04
 
Introdução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte IIIntrodução à Análise de Sistemas - Parte II
Introdução à Análise de Sistemas - Parte II
 
UML
UMLUML
UML
 
Introdução a analise de sistemas i
Introdução a analise de sistemas iIntrodução a analise de sistemas i
Introdução a analise de sistemas i
 

Semelhante a Introdução à análise orientada a objetos parte 1

POO.pdf
POO.pdfPOO.pdf
POO.pdf
TekosTeko
 
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
 
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
Arthur Emanuel
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
Ialis Cavalcante
 
DDD > Experiências
DDD > ExperiênciasDDD > Experiências
DDD > Experiências
Giovanni Bassi
 
Diagramadeclassesal
DiagramadeclassesalDiagramadeclassesal
Diagramadeclassesal
Marco Aurélio Galvão
 
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
Arthur Emanuel
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
elliando dias
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
Natanael Fonseca
 
ORM: Sendo produtivo com NHibernate
ORM: Sendo produtivo com NHibernateORM: Sendo produtivo com NHibernate
ORM: Sendo produtivo com NHibernate
Juliano Oliveira
 
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
Paulo Morgado
 
POO - Aula 003
POO - Aula 003POO - Aula 003
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
Maurício Linhares
 
Construtores_Sobrecarga.pptx
Construtores_Sobrecarga.pptxConstrutores_Sobrecarga.pptx
Construtores_Sobrecarga.pptx
JoberthSilva
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02
thomasdacosta
 
TESTE
TESTETESTE
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
Norton Guimarães
 
Lista 2 1 java
Lista 2 1 javaLista 2 1 java
Lista 2 1 java
Aparicio Junior
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
Mauro Pereira
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
Infogenius
 

Semelhante a Introdução à análise orientada a objetos parte 1 (20)

POO.pdf
POO.pdfPOO.pdf
POO.pdf
 
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)
 
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
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
DDD > Experiências
DDD > ExperiênciasDDD > Experiências
DDD > Experiências
 
Diagramadeclassesal
DiagramadeclassesalDiagramadeclassesal
Diagramadeclassesal
 
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
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
ORM: Sendo produtivo com NHibernate
ORM: Sendo produtivo com NHibernateORM: Sendo produtivo com NHibernate
ORM: Sendo produtivo com NHibernate
 
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
 
POO - Aula 003
POO - Aula 003POO - Aula 003
POO - Aula 003
 
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
 
Construtores_Sobrecarga.pptx
Construtores_Sobrecarga.pptxConstrutores_Sobrecarga.pptx
Construtores_Sobrecarga.pptx
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02
 
TESTE
TESTETESTE
TESTE
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
Lista 2 1 java
Lista 2 1 javaLista 2 1 java
Lista 2 1 java
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
 

Último

Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 

Último (8)

Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 

Introdução à análise orientada a objetos parte 1

  • 1. Introdução à Análise Orientada a Objetos Prof. Ariovaldo Dias de Oliveira
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Comparação Procedural X OO Programa Classe Processos Propriedades Métodos Dados
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. boolean consegui = conta1.transferePara(conta2, 12000); if (consegui) { System.out.println("Saque realizado. Novo saldo conta1 = " + conta1.saldo); System.out.println("Novo saldo conta2 = " + conta2.saldo); } else { System.out.println("Saldo de " + conta1.saldo + " insuficiente"); } } }
  • 23. Nova Representação da classe Conta em UML Conta +número: int +nome: String +saldo: double +limite: double +saca (valor: double): boolean +deposita (valor: double): +transferePara (destino: Conta, valor: double) : boolean
  • 24.
  • 25. Alterações na classe Conta: class Conta { int número; double saldo; double limite; Cliente titular = new Cliente () ; boolean saca ...... ...... void deposita ...... ...... boolean transferePara ..... ...... }
  • 26. Alterações no programa principal: class Programa { public static void main (String [ ] args) { Conta conta1 = new Conta( ); conta1.titular.nome = "João "; ...... conta2.titular.nome = " Maria "; ...... System.out.println("Titular da conta1 = " + conta1.titular.nome); System.out.println("Titular da conta2 = " + conta2.titular.nome); } }
  • 27. Representação UML das classes Conta e Cliente Conta +número: int +saldo: double +limite: double +titular: Cliente +saca (valor: double): boolean +deposita(valor: double) +transferePara (destino: Conta, valor: double) : boolean Cliente +nome: String +sobrenome: String +endereço: String +cpf: String
  • 28. Um sistema Orientado a Objetos é um grande conjunto de classes que vão se comunicar, delegando responsabilidade para quem for mais apto a realizar determinada tarefa. A classe Banco usa a classe Conta , que usa a classe Cliente , que usa a classe Endereço , etc. Dizemos que esses objetos colaboram, trocando mensagens entre si. Por isso acabamos tendo muitas classes em nossos sistemas, e elas costuma ter um tamanho relativamente curto.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Nova Representação UML das classes Conta e Cliente Conta +número: int +saldo: double -limite: double -titular: Cliente +saca (valor: double): boolean +deposita(valor: double) +transferePara (destino: Conta, valor: double) : boolean +setSaldo(valor: double) +getSaldo ( ): double +setLimite(valor: double) +getLimite( ): double Cliente +nome: String +sobrenome: String +endereço: String +cpf: String
  • 35.
  • 36.