Sistemas Distribuídos - Aula 04 - Revisão de Java
-
Upload
arthur-emanuel -
Category
Technology
-
view
252 -
download
0
description
Transcript of Sistemas Distribuídos - Aula 04 - Revisão de Java
![Page 1: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/1.jpg)
Revisão de JavaArthur Emanuel de Oliveira Carosia
![Page 2: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/2.jpg)
Conceitos Básicos Classes Definição para objetos.Uma classe define o que um objeto pode ter e o que ele pode fazer.
![Page 3: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/3.jpg)
Conceitos Básicos Classes Definição para objetos.Uma classe define o que um objeto pode ter e o que ele pode fazer.
ObjetosUma instancia de uma classe. Possuem estado e comportamento.
![Page 4: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/4.jpg)
Conceitos Básicos Classes Definição para objetos.Uma classe define o que um objeto pode ter e o que ele pode fazer.
ObjetosUma instancia de uma classe. Possuem estado e comportamento.
AtributosUm elemento dados de um objeto. Variável de instancia.
MétodosUm elemento de comportamento de um objeto.
Cachorro01
-Totó-3.5-Branco
Latir()Abanar()
![Page 5: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/5.jpg)
Conceitos Básicos
EncapsulamentoOculta elementos da implementação de uma classe, porém fornecendo uma interface publica para acesso.
![Page 6: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/6.jpg)
Conceitos Básicos
Herança ExtensãoAcrescenta novos métodos aos já herdadosSobreposiçãoRedefine os métodos implementados previamente
![Page 7: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/7.jpg)
Conceitos Básicos
PolimorfismoCaracterizado quando duas ou mais classes distintas tem métodos de mesmo nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratar de forma diferenciada conforme a classe do objeto.
![Page 8: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/8.jpg)
Objetos
Objetos são conceitos que têm identidade, estado e comportamento.
Pode-se pensar sobre o mundo real como uma coleção de objetos relacionados.
![Page 9: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/9.jpg)
Objetos
Um programa Orientado a Objetos possui:objetos se comunicando através de troca de mensagens.
![Page 10: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/10.jpg)
Classes e Objetos
![Page 11: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/11.jpg)
Classes vs Objetos
Aluno
-nome-matrícula-situação escolar
Aluno01
-”José”-01-”matriculado”
Instância
![Page 12: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/12.jpg)
Método Construtor
Usado para inicializar um novo objeto
![Page 13: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/13.jpg)
Modificadores de Acesso
Os modificadores de acesso são palavras-chave que modificam a forma como podem ser acessadas asclasses, métodos e/ou variáveis.
![Page 14: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/14.jpg)
Classes em Java
[<declaracaoPacote>][<declaracaoImport>]<modificadores> class <NomeClasse> {[<modificadores>] <tipo> <nome> =[<valorInicial>];[<modificador>] <NomeClasse> ([<listaArgumentos>]){[<instruções>]}[<modificadores>] <tipoRetorno> <nome>([<listaArgumentos>]) {[<instruções>]}
![Page 15: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/15.jpg)
Classes em Java
package br.com.mariojp.veiculo;public class Carro {private double cargaMaxima = 50.5;private double cargaAtual;public Carro(){cargaAtual = 10.5;}public double getCargaAtual(){return cargaAtual;}public void setCarga(double peso){cargaAtual = peso;}}
![Page 16: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/16.jpg)
Tipos de Dados Primitivos
BooleanCharByteShortIntLongFloatDouble
![Page 17: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/17.jpg)
Tipos de Dados Primitivos
Public class TiposPrimitivos{public static void main(String[] args) {boolean liberado = true;char sexo = 'M';int I = 10;double d = 10.5;String nome = “Teste”; // não é primitivo, é uma classe}}
![Page 18: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/18.jpg)
Classe Scanner
Classe utilizada para captura de dados do teclado via prompt de comandos.
Importar Import java.util.Scanner
![Page 19: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/19.jpg)
Classe Scanner
Import java.util.Scanner;
public class Exemplo {public static void main (String[] args) {Scanner leitor = new Scanner(System.in);//Ler um TextoString nome = leitor.nextLine();
//ler um numeroint idade = leitor.nextInt();}}
![Page 20: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/20.jpg)
Fluxos de Controle – Condicionais
if (expressão boleana) {instruções;} else {instruções;}
switch (variável) {case valor : Instruçõesbreak;default:instruções}
![Page 21: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/21.jpg)
Fluxos de Controle - Laços
for (inicializa; expressão booleana; altera) {instruções;}
for(T elemento: elementos){ instruções;}
while ( condição ){ instruções;}
![Page 22: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/22.jpg)
ArrayString names[];names = new String[3];names[0] = "Georgianna";names[1] = "Jen";names[2] = "Simon"; Data data[];
datas = new Data[3];dates[0] = new Data(22, 7,1964);dates[1] = new Data(1, 1,2000);dates[2] = new Data(22,12,1964);
String names[] = {"Georgianna","Jen","Simon"};
Data dates[] = {new Data(22, 7, 1964),new Data(1, 1, 2000),new Data(22, 12, 1964)};
![Page 23: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/23.jpg)
Tratamento de Erros
try {instruções onde pode ocorrer uma Exceção;} catch (Tipo de Exceção instancia_erro) {instruções caso ocorra a Exceção;} finally {instruções que vão ocorrer sempre;}
declaracaoMetodo throws tipo Exceção{instruções onde pode ocorrer uma Exceção;}
![Page 24: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/24.jpg)
Métodos Estáticos
Métodos que podem ser utilizados sem necessidade de instanciar uma classe
System.out.println(“Método estático”);
![Page 25: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/25.jpg)
Métodos Estáticos
class Matemática {public static int Soma(int v1, int v2) {return v1 + v2;}}
Int valor = Matematica.Soma(1,4)
![Page 26: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/26.jpg)
Exercícios
Escreva uma classe Ponto que:contém x e y e que podem ser definidos em um construtor;Sobrescreva o metodo toString para retornar o x e o y.
![Page 27: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/27.jpg)
Exercícios
Escreva uma classe Circulo, que contenha: raio inteiro e origem do tipo Ponto, dois construtores que define origem e raioCirculo(int x,int y, int raio)Cirtulo(Ponto ponto, int raio)método que retorna a áreamétodo que retorna a circunferênciaUse java.lang.Math.PI (Math.PI)Sobrescreva o metodo toString para retornar o raio e aorigem
![Page 28: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/28.jpg)
Exercícios
Escreva uma classe Teste que leia do teclado os atributos necessários para instanciar uma classe Ponto. Além disso, deve-se ler, também do teclado, os atributos necessários para instanciar 6 círculos. Esses círculos devem ser armazenados em um Array.
Por fim, exiba todos os círculos e também o ponto lido.
![Page 29: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/29.jpg)
Exercícios
4. Crie uma classe abstrata Figura que:contém o atributo String cor e por padrão a cor “branco”;tenha um método abstrato: String desenhar().
![Page 30: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/30.jpg)
Exercícios
Altere a classe Circulo para que ela estenda (herde) Figura.
Faça as alterações necessáriasImplemente o método desenhar() retornando o nome da figura e a cor.Implemente um construtor Circulo(String cor)
![Page 31: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/31.jpg)
Exercícios
Crie uma classe Quadrado que herda de Figura e implemente o método desenhar() .Implemente o construtor Quadrado(String cor)Implemente o construtor Quadrado()
![Page 32: Sistemas Distribuídos - Aula 04 - Revisão de Java](https://reader033.fdocument.pub/reader033/viewer/2022061213/5496d063b47959654d8b5052/html5/thumbnails/32.jpg)
Revisão de Java
Arthur Emanuel de Oliveira Carosia