43
Classes, Objetos, Classes, Objetos, Atributos e Métodos Atributos e Métodos JAVA JAVA Faculdade Mauricio de Nassau Linguagem de Programação II Curso de Engenharia de Telecomunicações

Classes, Objetos, Atributos e Métodos JAVA

  • Upload
    alyssa

  • View
    84

  • Download
    1

Embed Size (px)

DESCRIPTION

Classes, Objetos, Atributos e Métodos JAVA. Faculdade Mauricio de Nassau Linguagem de Programação II Curso de Engenharia de Telecomunicações. Sumário. Definição e Modificadores de acesso: Classes; Objetos; Métodos; Atributos. Definindo novos tipos. - PowerPoint PPT Presentation

Citation preview

Page 1: Classes, Objetos, Atributos e Métodos JAVA

Classes, Objetos, Atributos Classes, Objetos, Atributos e Métodose Métodos

JAVAJAVA

Faculdade Mauricio de NassauLinguagem de Programação II

Curso de Engenharia de Telecomunicações

Page 2: Classes, Objetos, Atributos e Métodos JAVA

• Definição e Modificadores de acesso:– Classes;– Objetos;– Métodos;– Atributos.

SumárioSumário

Page 3: Classes, Objetos, Atributos e Métodos JAVA

Definindo novos tiposDefinindo novos tipos

Ao invés de tipos pré-definidos como String e int, os tipos específicos da

aplicação, como Carro e Cliente precisam ser definidos pelo programador.

Os elementos dos tipos definidos pelo programador são

objetos!

Page 4: Classes, Objetos, Atributos e Métodos JAVA

Definindo novos tiposDefinindo novos tipos

Quantos Objetos?Quantos Objetos?ee

Quantas Classes?Quantas Classes?

Page 5: Classes, Objetos, Atributos e Métodos JAVA

Definindo novos tiposDefinindo novos tipos

class Carro { CorpoDaClasse}

class Moto{ CorpoDaClasse}

• Dois novos Tipos (Objetos do mundo real especificados na linguagem Java -> Classes).

Page 6: Classes, Objetos, Atributos e Métodos JAVA

• Tipo definido pelo usuário que possui especificações (características ou estados, comportamentos e identidade) (MATTOS, 2007).

• Conjunto de objetos do mesmo tipo, com a mesmas características (métodos e atributos).

ClassesClasses

Page 7: Classes, Objetos, Atributos e Métodos JAVA

• Estado - Reação quando um método e aplicado.

• Comportamento - execução dos métodos a ele relacionados.

• Identidade - forma como se distinguem dois objetos com o mesmo comportamento e estado.

ClassesClasses

Page 8: Classes, Objetos, Atributos e Métodos JAVA

Definindo classes em JavaDefinindo classes em Java

class NomeDaClasse { CorpoDaClasse}

O corpo de uma classe pode conter:– Atributos;– Métodos;– Construtores;– Outras classes ...

Page 9: Classes, Objetos, Atributos e Métodos JAVA

Modificadores de acesso Modificadores de acesso p/ Classesp/ Classes

• default (pacote): classes sem modificador de acesso explícito, só podem ser instanciadas dentro da própria classe ou por classes do mesmo pacote.

class NomeClasse

Page 10: Classes, Objetos, Atributos e Métodos JAVA

Modificadores de acesso Modificadores de acesso p/ Classesp/ Classes

• public : classes public podem ser instanciadas por qualquer objeto livremente.

public class NomeClasse

• Os modificadores de acesso (final e abstract) serão abordados na segunda unidade.

Page 11: Classes, Objetos, Atributos e Métodos JAVA

• Classe é uma descrição de algo existente no domínio do problema (aplicação);

• É usada na criação de múltiplos objetos;

• Descreve os dados (atributos) e o comportamento (métodos) de um objeto.

Classes X ObjetosClasses X Objetos

Page 12: Classes, Objetos, Atributos e Métodos JAVA

• Um Objeto é uma instância particular de um tipo de dado específico (classe);

• É uma instância de uma classe;

• Instanciar um objeto é criar seu espaço de memória e repassar um ponteiro para ele.

Classes X ObjetosClasses X Objetos

TipoClasse nome = new ConstrutorTipoClasse ();Carro ferrari = new Carro();

Page 13: Classes, Objetos, Atributos e Métodos JAVA

Objetos DVDObjetos DVD

Estado atual do DVD; o que ele está fazendo...

Operações que o DVD pode executar

Page 14: Classes, Objetos, Atributos e Métodos JAVA

Objetos CarroObjetos Carro

velocidadevelocidade placaplaca

100 km/h100 km/h kkx 3111kkx 3111

Estado atual do carro

Operações que um carro pode

executar

aumentarVelocidadeaumentarVelocidade

diminuirVelocidadediminuirVelocidade

Page 15: Classes, Objetos, Atributos e Métodos JAVA

Estado do 0bjetos CarroEstado do 0bjetos Carro

velocidadevelocidade placaplaca

100 km/h100 km/h kkx 3111kkx 3111

aumentarVelocidadeaumentarVelocidade

diminuirVelocidadediminuirVelocidade

velocidadevelocidade placaplaca

80 km/h80 km/h kkx 3111kkx 3111

aumentarVelocidadeaumentarVelocidade

diminuirVelocidadediminuirVelocidade

diminuirVelocidade (20)diminuirVelocidade (20)

Page 16: Classes, Objetos, Atributos e Métodos JAVA

• Métodos: as operações que o objeto pode executar.

• Atributos: informações sobre o objeto, suas propriedades e seu estado atual.

ObjetosObjetos

O estado é encapsulado, só pode ser modificado pelos métodos do próprio

objeto.

Page 17: Classes, Objetos, Atributos e Métodos JAVA

• Variáveis são usadas em linguagens em geral para armazenar valores;

• Valores são passados para variáveis através de operações de atribuição– atribuição de valores é feita através de

literais

Ex: int intQuantidadeAlunos = 14;

VariáveisVariáveis

Page 18: Classes, Objetos, Atributos e Métodos JAVA

– atribuição de referências (endereços para valores) é feita através de operações de construção de objetos e, em dois casos, pode ser feita através de literais.

VariáveisVariáveis

Ex: Conta contaClientePreferencial = new Conta();

String s = "abcde"; int[] v = {1, 2, 3};

Page 19: Classes, Objetos, Atributos e Métodos JAVA

• Atributos de dados (declarados no bloco da classe): podem ser usados em qualquer lugar (qualquer bloco) da classe– uso em outras classes depende de

modificadores de acesso (public, private, etc);– existem enquanto o objeto existir( ou

enquanto a classe existir, se declarados static).

Escopo VariáveisEscopo Variáveis

Page 20: Classes, Objetos, Atributos e Métodos JAVA

• Variáveis locais (declaradas dentro de blocos de procedimentos)– existem enquanto o procedimento

(método, bloco de controle de execução) estiver sendo executado;

– não pode ser usado fora do bloco;– não pode ter modificadores de acesso

(private, public, etc).

Escopo VariáveisEscopo Variáveis

Page 21: Classes, Objetos, Atributos e Métodos JAVA
Page 22: Classes, Objetos, Atributos e Métodos JAVA

Definindo atributos em Definindo atributos em JavaJava

• Um atributo de uma classe tem a seguinte estrutura genérica:

<visibilidade> <tipo><nomeVariavel>

Page 23: Classes, Objetos, Atributos e Métodos JAVA

Modificadores de acesso Modificadores de acesso p/ Atributosp/ Atributos

• <visibilidade> - é o modificador de acesso para o atributo, podendo ser:– public : poderá ser acessado por

qualquer classe.– private : só poderá ser acessado dentro

da mesma classe.– default (package) : só poderá ser

acessado dentro da própria classe ou por classes do mesmo pacote.

Page 24: Classes, Objetos, Atributos e Métodos JAVA

Modificadores de acesso Modificadores de acesso p/ Atributosp/ Atributos

– protected : só poderá ser acessado por classes do mesmo pacote ou por subclasses (veremos isto em herança).

Page 25: Classes, Objetos, Atributos e Métodos JAVA

Definindo atributos em Definindo atributos em JavaJava

class Carro { private String fabricante; private String placa; private int numeroPortas; private ...}

Palavras reservadas<visibilidade>

Tipo doAtributo<tipo>

Nome doAtributo

<nomeVariavel>

Page 26: Classes, Objetos, Atributos e Métodos JAVA

• Vários atributos de um mesmo tipo podem ser declarados conjuntamente.

• Podemos especificar que um atributo deve ser inicializado com um valor específico.

Definindo atributos em Definindo atributos em JavaJava

Page 27: Classes, Objetos, Atributos e Métodos JAVA

Definindo atributos em Definindo atributos em JavaJava

class Carro { private String fabricante, modelo; private String placa, chassi; private int numeroPortas, anoFabricacao; private String paisFabricacao = “Brasil”; private ...}

IndicaMudança de valor

Valor para inicialização

Page 28: Classes, Objetos, Atributos e Métodos JAVA

• Os atributos a serem definidos em classe devem ser necessários para implementar um dos serviços do sistema.

Que atributos definir?Que atributos definir?

Por exemplo, lembre que informações são

necessárias para cadastrar um cliente

Page 29: Classes, Objetos, Atributos e Métodos JAVA

Definindo atributos em Definindo atributos em JavaJava

class Cliente { private String nome, cpf; private String rua, cep, cidade; private String pais = “Brasil”; private ...}

Page 30: Classes, Objetos, Atributos e Métodos JAVA

MétodosMétodos

• Um método descreve o comportamento de uma classe;

• Um método de uma classe tem a seguinte estrutura genérica:

<visibilidade> <static> <tipo_retorno> <nome_método> (<parâmetros>){

// corpo ou escopo do método}

Page 31: Classes, Objetos, Atributos e Métodos JAVA

Modificadores de acesso Modificadores de acesso p/ Métodosp/ Métodos

• <visibilidade> - é o modificador de acesso para o método, podendo ser:– public : o método poderá ser acessado

por qualquer classe.– private : o método só poderá ser

acessado dentro da mesma classe.– default (package) : o método só poderá

ser acessado dentro da própria classe ou por classes do mesmo pacote.

Page 32: Classes, Objetos, Atributos e Métodos JAVA

Modificadores de acesso Modificadores de acesso p/ Métodosp/ Métodos

– protected : o método só poderá ser acessado por classes do mesmo pacote ou por subclasses (veremos isto em herança).

Page 33: Classes, Objetos, Atributos e Métodos JAVA

Modificadores de acesso Modificadores de acesso p/ Métodosp/ Métodos

• <static> - modificador que define se o método é de classe (com static) ou de instância (sem static). Métodos de classe podem ser chamado sem a especificação de um objeto.

Page 34: Classes, Objetos, Atributos e Métodos JAVA

Declarando MétodosDeclarando Métodos

• <tipo_retorno> - declaração do tipo de retorno do método, que pode ser qualquer um dos tipos primitivos, qualquer objeto.

Atenção!!!

Tipo void, que significa que o método não retorna valor algum.

Page 35: Classes, Objetos, Atributos e Métodos JAVA

Declarando MétodosDeclarando Métodos

• (<parâmetros>) :– um método pode ter zero ou mais

argumentos, também chamados parâmetros;

– cada argumento indicará um pedaço da informação que deve ser passada ao método no momento de sua chamada;

Page 36: Classes, Objetos, Atributos e Métodos JAVA

Declarando MétodosDeclarando Métodos

• (<parâmetros>) :– quando houver mais de um argumento,

eles devem ser separados por vírgulas;– caso o método não receba argumentos,

os parênteses devem ser deixados vazios.

Page 37: Classes, Objetos, Atributos e Métodos JAVA

Algumas regras aplicadas Algumas regras aplicadas aos métodosaos métodos

• Métodos retornam, no máximo, um valor, podendo ser uma variável ou um objeto;

• Se o tipo de retorno do método não for void, o corpo do método tem de ter um comando return;

Page 38: Classes, Objetos, Atributos e Métodos JAVA

Algumas regras aplicadas Algumas regras aplicadas aos métodosaos métodos

• Passagem de parâmetros com tipo diferente dos parâmetros recebidos (assinatura do método) gera erro de sintaxe;

• Um método não pode ser definido dentro de outro método;

Page 39: Classes, Objetos, Atributos e Métodos JAVA

Definindo Métodos em JavaDefinindo Métodos em Java

Um método pode executar várias instruções, mas a mais simples é a instrução (comando) de atribuição:

atributo = expressão

Page 40: Classes, Objetos, Atributos e Métodos JAVA

Definindo Métodos em JavaDefinindo Métodos em Java

• Para executar a instrução de atribuição o computador– avalia expressão, obtendo um valor;– Faz com que o novo valor de atributo seja

o valor gerado pela experessão.

Page 41: Classes, Objetos, Atributos e Métodos JAVA

Métodos construtoresMétodos construtores

• Métodos construtores são métodos especiais definidos com o mesmo nome da classe;

• Construtores são chamados automaticamente toda vez que um objeto da classe é criado;

Page 42: Classes, Objetos, Atributos e Métodos JAVA

Métodos construtoresMétodos construtores

• Os métodos construtores servem para inicializar as variáveis de instância de seus objetos e não possuem nenhum valor de retorno.

class Cliente { private String nome, cpf;

// Construtor para classe Cliente Cliente (String nomeCliente, String cpfCliente) { nome = nomeCliente; cpf = cpfCliente; }}

Page 43: Classes, Objetos, Atributos e Métodos JAVA

Métodos construtoresMétodos construtores

• Toda e qualquer classe do Java possui um construtor padrão, que não faz nada nem recebe parâmetros, e que só será chamado se nenhum construtor for definido.