• Nenhum resultado encontrado

A8 classes metodos atributos

N/A
N/A
Protected

Academic year: 2021

Share "A8 classes metodos atributos"

Copied!
13
0
0

Texto

(1)

Programação Orientada

a Objetos

AULA 8 –

CLASSES, MÉTODOS E ATRIBUTOS

RAFAEL BALDIATI PARIZI – 2014/1

PROGRAMAÇÃO ORIENTADA A OBJETOS ::: JAVA

Orientação a Objetos:

Fornece mecanismos de abstração e composição para o desenvolvimento de software

Abstração:

Classes, atributos, métodos, interfaces

Composição:

(2)

PROGRAMAÇÃO ORIENTADA A OBJETOS ::: JAVA

Com abstração, pode-se representar os conceitos do mundo real ou do mundo computacional para:

Prover estado Prover comportamento

Ocultar os detalhes de implementação Encapsular conceitos similares / relacionados

PROGRAMAÇÃO ORIENTADA A OBJETOS ::: JAVA

CLASSES

Principal mecanismo de abstração

Englobam estado e comportamento (relacionados)

(3)

CLASSES EM JAVA

A linguagem Java permite a criação de classes Públicas e Privadas

Públicas:

Podem ser acessadas por outras classes definidas em outros arquivos

Privadas:

São acessíveis somente no arquivo no qual elas estão defindas

O comum é a criação de uma classe por arquivo (classe pública)

PROGRAMAÇÃO ORIENTADA A OBJETOS ::: JAVA

Definição de uma classe

A classe Conta poderá ser usada em outras classes

Exemplo:

public class

Conta {

}

public class Programa {

public static void main(String[] args) { Conta c;

(4)

PROGRAMAÇÃO ORIENTADA A OBJETOS ::: JAVA

Criando objetos da classe

Um classe serve como um template para a criação de objetos

Para criar objetos de uma classe são usados os chamados construtores

public class

Programa {

public static void

main(String[] args) {

Conta c = new

Conta();

}

}

PROGRAMAÇÃO ORIENTADA A OBJETOS ::: JAVA

Para a classe ter utilidade, precisa:

Manter estado e/ou

Desempenhar alguma funcionalidade

OBJETOS guardam estado com seus

atributos

Os atributos possuem a seguinte sintaxe:

[modificadores] tipo nome [=valor];

public class

Conta {

int

numero;

String

dono

;

double

saldo;

(5)

Para usar os atributos (leitura ou escrita)

Sintaxe = objeto.atributo public class Conta {

private int numero; private String dono; private double saldo; private double limite; public String getDono() {

return dono; }

public void setDono(String dono) { this.dono = dono;

} }

No entanto, normalmente os atributos são acessados indiretamente, através de métodos de leitura e escrita (gete set). public class Programa {

public static void main(String[] args) { Conta c = new Conta();

c.setDono("Rafael"); }

}

PROGRAMAÇÃO ORIENTADA A OBJETOS ::: JAVA

No ECLIPSE, para gerar os métodos GET e SET, basta:

ALT + SHIFT + S

Generate Methods Get e Set

O uso de métodos de leitura (get) e escrita (set) visam desacoplar os atributos de uma classe dos clientes que a utilizam.

(6)

Modificadores de Visibilidade

Existem alguns modificadores de visibilidade para classes, métodos e atributos em Java.

Os principais são:

public – Visível para todas as classes private – Visível apenas dentro da classe protected – Visível somente para as sub-classes

(sem modificador) Visível para todas as classes no pacote (diretório)

(7)

Adicionando Comportamento

Métodos gete set representam comportamentos, embora simples. No entanto, as classes precisam normalmente de mais métodos

De forma a implementar as funcionalidades para as quais ela foi criada.

Para a classe Conta, por exemplo, métodos precisariam ser criados para: sacar, transferir, depositar, ..

(8)

Métodos: sintaxe

Métodos são similares a procedimentos ou funções em linguagen estruturadas. A sintaxe é a normalmente a seguinte:

[modificadores] tipoRetorno nome(parametros){ // Corpo do método ...

}

PROGRAMAÇÃO ORIENTADA A OBJETOS ::: JAVA

(9)

public class TesteConta {

public static void main(String[] args) { Conta c = new Conta();

System.out.println(c.getSaldo());

c.setSaldo(100);

System.out.println(c.getSaldo());

c.sacar(40);

System.out.println(c.getSaldo());

} }

Método sacar chamado na Classe Main

COMO SERIA O MÉTODO TRANSFERIRPARA UMA CONTA 2?

public void transferirPara (Conta destino, double valor){ destino.saldo = destino.saldo + valor;

saldo = saldo - valor; }

(10)

Métodos: sintaxe

Alguns atributos não são únicos, e sim, coleções de dados ou objetos.

Desta forma, podemos armazenar valores de atributos como: Vetores ou Coleções

Trataremos disso em uma aula específica. No entanto, para os exercícios usaremos uma coleção chamada ArrayList..

public class Agencia {

String nome; String endereco;

private Collection<Conta> contas = new ArrayList<Conta>();

public void adicionar(Conta c){

contas.add(c);

}

public void removerConta(Conta c){

contas.remove(c);

}

public int retornaNumeroContas(){

return this.contas.size();

} }

(11)

//criando um objeto de Agencia Agencia agBB = new Agencia(); agBB.setNome("Banco do Brasil");

agBB.setEndereco("Rua general Marques, 1140");

Conta c = new Conta(); c.setDono("Rafael"); c.setNumero(000001); c.setLimite(50); c.setSaldo(200000); Conta c2 = new Conta(); c2.setDono("Joao"); c2.setNumero(000002); c2.setLimite(500); c2.setSaldo(200000); agBB.adicionar(c); agBB.adicionar(c2);

System.out.println("A Agencia "+agBB.getNome()+" tem "+agBB.retornaNumeroContas()+" contas");

} }

Construtores

Os métodos para a criação de objetos de uma classe são chamados de construtores.

A linguagem Java fornece um construtor padrão, que não recebe parâmetros.

Somente quando outro não for declarado.

No entanto, podemos criar novos construtores ou modificarmos o construtor padrão existente.

public class Agencia { String nome; String endereco;

private Collection<Conta> contas = new ArrayList<Conta>(); public Agencia(String nomes){

(12)

public class

TestaAgencia {

public static void

main(String[] args) {

Agencia agencia = new

Agencia(

"Jaguari"

);

Exercícios

Modifique a classe Conta de forma a adicionar os seguintes atributos:

–Agencia

–Número da Conta

Exemplifique o uso destes atributos.

2. Modifique a classe Conta de forma a adicionar os seguintes métodos:

(13)

Crie uma classe para manter os dados de um aluno. Devem ser mantidos os seguintes dados: matrícula, nome, endereço, ano de ingresso, semestre de ingresso. Exemplifique o uso da classe.

Crie uma classe que mantenha os dados de um curso de graduação. São necessários os seguintes dados: sigla, nome, turno, ingressantes por ano.

Crie uma classe que mantenha os dados de uma disciplina de graduação. São necessários os seguintes dados: código, nome, pré-requisitos.

Considerando as classes dos exercícios anteriores e outras possíveis novas classes, implemente os seguintes requisitos:

1. Deve ser possível criar currículos para os cursos de graduação (cadeiras em cada curso). 2. Deve ser possível associar um aluno a um ou mais cursos de graduação.

3. Deve ser possível criar turmas de graduação.

4. Deve ser possível matricular os alunos nas turmas disponíveis para o curso.

5. Deve ser possível manter a nota final, a nota do exame do aluno e sua frequência em cada uma das aulas de uma disciplina ofertada.

6. Deve ser possível mostrar os alunos aprovados e reprovados em uma turma, bem como sua frequência.

Referências

Documentos relacionados

Verificar as conexões: Módulo, antena GPS, antena GSM/GPRS, microfone, botão de pânico, chicote principal de alimentação, chicote do bloqueio e acessórios instalados, exemplo:

Embora não exista uma separação rígida entre ambas as classes, pode-se dizer que os colorímetros são os aparelhos mais simples para medir a absorção no visível, tais como

◦ Chapter 2: Bi-directional evolutionary structural optimization for design-dependent fluid pressure loading problems: This topology optimization problem aimed to design

Elas correspondem às mudanças na forma de produção capitalista, na organização da distribuição de bens e serviços e no envolvimento de praticamente todas as

As entradas rápidas são adequadas para a leitura de sensores que possuem grande taxa de variação, como por exemplo, posição da borboleta, posição do pedal, sensor de

• protected: membros que são vistos pelas classes do pacote e herdados por qualquer outra classe!. • package: membros que são vistos e herdados pelas classes do

Geralmente não são necessárias precauções especiais, para a suspensão do tratamento.. Medidas a adoptar em caso de sobredosagem e/ou intoxicação, sintomas, medidas de urgência

Antes de tomar Kisqali, informe o seu médico ou farmacêutico se estiver tomando, tiver tomado recentemente ou tomar outros medicamentos, incluindo medicamentos ou suplementos