classes, objetos, atributos e métodos java faculdade mauricio de nassau linguagem de programação...
Post on 19-Apr-2015
108 Views
Preview:
TRANSCRIPT
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
• Definição e Modificadores de acesso:– Classes;– Objetos;– Métodos;– Atributos.
SumárioSumário
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!
Definindo novos tiposDefinindo novos tipos
Quantos Objetos?Quantos Objetos?ee
Quantas Classes?Quantas Classes?
Definindo novos tiposDefinindo novos tipos
class Carro { CorpoDaClasse}
class Moto{ CorpoDaClasse}
• Dois novos Tipos (Objetos do mundo real especificados na linguagem Java -> Classes).
• 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
• 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
Definindo classes em JavaDefinindo classes em Java
class NomeDaClasse { CorpoDaClasse}
O corpo de uma classe pode conter:– Atributos;– Métodos;– Construtores;– Outras classes ...
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
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.
• 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
• 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();
Objetos DVDObjetos DVD
Estado atual do DVD; o que ele está fazendo...
Operações que o DVD pode executar
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
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)
• 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.
• 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
– 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};
• 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
• 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
Definindo atributos em Definindo atributos em JavaJava
• Um atributo de uma classe tem a seguinte estrutura genérica:
<visibilidade> <tipo><nomeVariavel>
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.
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).
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>
• 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
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
• 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
Definindo atributos em Definindo atributos em JavaJava
class Cliente { private String nome, cpf; private String rua, cep, cidade; private String pais = “Brasil”; private ...}
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}
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.
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).
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.
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.
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;
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.
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;
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;
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
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.
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;
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; }}
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.
top related