Sistemas Distribuídos - Aula 04 - Revisão de Java

Post on 18-Dec-2014

258 views 0 download

description

Aula contendo revisão de Java.

Transcript of Sistemas Distribuídos - Aula 04 - Revisão de Java

Revisão de JavaArthur Emanuel de Oliveira Carosia

Conceitos Básicos Classes Definição para objetos.Uma classe define o que um objeto pode ter e o que ele pode fazer.

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.

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()

Conceitos Básicos

EncapsulamentoOculta elementos da implementação de uma classe, porém fornecendo uma interface publica para acesso.

Conceitos Básicos

Herança ExtensãoAcrescenta novos métodos aos já herdadosSobreposiçãoRedefine os métodos implementados previamente

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.

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.

Objetos

Um programa Orientado a Objetos possui:objetos se comunicando através de troca de mensagens.

Classes e Objetos

Classes vs Objetos

Aluno

-nome-matrícula-situação escolar

Aluno01

-”José”-01-”matriculado”

Instância

Método Construtor

Usado para inicializar um novo objeto

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.

Classes em Java

[<declaracaoPacote>][<declaracaoImport>]<modificadores> class <NomeClasse> {[<modificadores>] <tipo> <nome> =[<valorInicial>];[<modificador>] <NomeClasse> ([<listaArgumentos>]){[<instruções>]}[<modificadores>] <tipoRetorno> <nome>([<listaArgumentos>]) {[<instruções>]}

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;}}

Tipos de Dados Primitivos

BooleanCharByteShortIntLongFloatDouble

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}}

Classe Scanner

Classe utilizada para captura de dados do teclado via prompt de comandos.

Importar Import java.util.Scanner

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();}}

Fluxos de Controle – Condicionais

if (expressão boleana) {instruções;} else {instruções;}

switch (variável) {case valor : Instruçõesbreak;default:instruções}

Fluxos de Controle - Laços

for (inicializa; expressão booleana; altera) {instruções;}

for(T elemento: elementos){ instruções;}

while ( condição ){ instruções;}

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)};

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;}

Métodos Estáticos

Métodos que podem ser utilizados sem necessidade de instanciar uma classe

System.out.println(“Método estático”);

Métodos Estáticos

class Matemática {public static int Soma(int v1, int v2) {return v1 + v2;}}

Int valor = Matematica.Soma(1,4)

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.

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

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.

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().

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)

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()

Revisão de Java

Arthur Emanuel de Oliveira Carosia