Implementação Orientada a Objetos – Aula 03

Slides:



Advertisements
Apresentações semelhantes
JAVA Orientação a Objetos
Advertisements

Programação em Java Prof. Maurício Braga
Introdução a Programação Orientada a Objetos
Herança, Polimorfismo e Classes Abstratas em Java
Implementação Orientada a Objetos Prof. Rodrigo Rocha – UMC Prof
Orientação a Objetos: Modificador Final para Métodos e Classes
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Iniciação ao Java – Márcio F. Campos
Programação Básica em Java
Polimorfismo e Classes Abstratas Profa
Wagner Santos C. de Jesus
Membros estáticos.
Paradigmas da Programação – Semestre 1 – Aula 3
Capítulo 9 Herança 1.
Classes e objetos P. O. O. Prof. Grace.
Estrutura de Dados em Java
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
CRIANDO OBJETOS EM JAVA
Se liga aí, que é hora da revisão!
Programação Orientada a Objetos com Java
JAVA Orientação a Objetos
JAVA Linguagem Ambiente de Desenvolvimento
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Interfaces.
Atributos, Encapsulamento e Interface em Java
Programação I Aula 2 (Métodos)
Métodos de Construção de Software: Orientação a Objetos
Linguagem de Programação JAVA
if669 - Introdução à Programação
Professora Lucélia Oliveira
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng. da Computação IF62C - Fundamentos de Programação Semana 12 – Overloading X Overriding Prof.a.
Orientação a Objetos Parte I
Programação Orientada à Objetos
Programação Orientada a Objetos Curso de Engenharia da Computação Parte 03 – Conceitos Básicos III Prof. Fabricio Mota Oliveira
Wagner Santos C. de Jesus
Programação Orientada a Objetos - Java
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Orientação a Objetos usando Java
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Java Kickstart, day 2 Semelhanças com linguagem C.
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
Classes Abstratas e Interface
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Programação I Aula 1 Prof. Gilberto Irajá Müller Última atualização 2/3/2009.
Implementação Orientada a Objetos – Aula 06 Conversão de tipos e métodos estáticos Prof. Danielle Martin Universidade de Mogi das Cruzes
Herança e Arquitetura em camadas
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Modificadores Programação II.
OO com Java Luiz Carlos d´Oleron Roteiro de aula.
2 – Revisão de Programação Orientada a Objetos
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Laboratório de Programação II Método main Dados e Métodos de Classes.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Curso Básico de Android
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 07 Agregação e composição de objetos Prof. Danielle Martin Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
Padrões de Projeto 2 – Revisão de Programação Orientada a Objetos.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin Universidade de Mogi das Cruzes

Caracteristicas da orientação a Objetos A orientação a objetos suporta quatro conceitos chave na criação de classes: Abstração Encapsulamento Herança Polimorfismo

Abstração Abstração Diz-se da possibilidade de abstrair entidades do mundo real como parte da solução de software Ex. Criação de classes Aluno, Veiculo, Documento

Exemplo Em uma aplicação de software para um sistema acadêmico, pode-se criar a classe Aluno. A classe Aluno possui os atributos nome, rgm, nota1, nota2, notaFinal e o método calcularMedia.

Declaração de Classes Sintaxe: Exemplo: <modificadores> class <nomeDaClasse> { [<declaracoes_atributos>] [<declaracoes_construtores>] [<declaracoes_métodos>] } Exemplo: public class Aluno { public int rgm; public void setRgm( int novoRgm ) { rgm = novoRgm;

Declaração de Atributos Sintaxe: [<modificadores>] <tipo> <nome> [=<valor_inicial>]; Exemplo: public class Aluno { private int rgm; private String nome; private double nota1; private double nota2; private double notaFinal; private double notaDeAprovacao = 5.0; }

Declaração de métodos Sintaxe: Exemplo: [<modificadores>] <tipo_retorno> <nome> ([<lista_parametros>]){ [<instrucoes>] } Exemplo: public class Calculadora { public double somar (double x, double y) { double resultado; resultado = x + y; return resultado;

Criação de objetos Um objeto é uma instância de uma classe Para criar um novo objeto, usa-se a instrução new Sintaxe para declaração de um objeto do tipo Aluno: [<nome_da_classe>] <nome_objeto> = new [<nome_da_classe>]([<parametros>]); Ou: [<nome_da_classe>] <nome_objeto>; <nome_objeto> = new [<nome_da_classe>]([<parametros>]); Exemplo: Aluno objetoAluno = new Aluno() Aluno objetoAluno; objetoAluno = new Aluno();

Acessar membros de objetos Apos a instrução new, todos os métodos e atributos da classe serão membros do objetoAluno Para acessar os atributos e métodos do objeto, usa-se o “ponto” como separador. Sintaxe: <nome_objeto>.<membro>; Exemplo: objetoAluno.nota1 = 10; //permitido somente se nota1 for publico objetoAluno.calcularMedia();

Encapsulamento Encapsulamento Diz-se da possibilidade da classe de agregar toda a informação relevante para seu processamento, escondendo detalhes de implementaçãode classes externas Ex. Toda a manipulação de dados de Alunos se encontra na classe Aluno Atributos da classe Aluno nao devem ser acessados por classes externas, a menos que explicitamente permitido

Encapsulamento Toda a manipulação de dados de Alunos se encontra na classe Aluno Dados (atributos) da classe Aluno Operações disponíveis para a classe Aluno

Encapsulamento Atributos da classe Aluno não devem ser acessados por classes externas, a menos que explicitamente permitido Uma boa prática para garantir o encapsulamento dos dados é declarar os atributos sempre privados, e os métodos públicos.

Modificadores de acesso/visibilidade Existem três modificadores de visibilidade de atributos e métodos: public O atributo/método declarado como público podera ser acessado por qualquer objeto externo. O acesso externo neste caso é total. private O atributo/método declarado como private somente pode ser acessado pelo próprio objeto, sem nenhuma visibilidade externa. protected O atributo/método declarado como protected pode ser acessado pelo próprio objeto e/ou por objetos de classes derivadas através de uma herança (Herança será um tópico abordado nas próximas aulas).

Métodos de acesso getters e setters Se os atributos são privados, como ler/modificar o valor dos mesmos para diferentes objetos? SOLUÇÃO: criar métodos que encapsulem o acesso aos atributos. Esses métodos sao chamados GETTERS e SETTERS Para LER o valor do atributo rgm, criar o método getRgm Para ALTERAR o valor do atributo rgm, criar o método setRgm

Métodos de acesso getters e setters Isso é permitido, mas NÃO recomendado: Aluno objetoAluno; objetoAluno = new Aluno(); objetoAluno.nome = “João”; objetoAluno.nota1 = 2; objetoAluno.nota2 = 6; objetoAluno.notaFinal = 10; System.out.println(“Media final ” + objetoAluno.notaFinal); //irá imprimir 10 Isso é permitido E recomendado: Aluno objetoAluno; objetoAluno = new Aluno(); objetoAluno.setNome(“João”); objetoAluno.setNota1(2); objetoAluno.setNota2(6); objetoAluno.calcularMedia(); System.out.println(“Media final ” + objetoAluno.getNotaFinal()); //irá imprimir 4

Exemplo: Classe Aluno Exemplo public class Aluno { private int rgm; private String nome; private double nota1; private double nota2; private double notaFinal; public void setRgm(int r) { rgm = r; } public void setNome(String n) { nome = n; public void setNota1(double n) { nota1 = n; public void setNota2(double n) { nota2 = n; public int getRgm() { return rgm; } public String getNome() { return nome; public double getNota1() { return nota1; public double getNota2() { return nota2; public double getNotaFinal() { return notaFinal; public void calcularMedia() { notaFinal = (nota1 + 2*nota2)/3; Não existe o médoto setNotaFinal. O atributo notaFinal apenas poderá ser modificado através do método calcularMedia().

Exercicio: Criar objetos Aluno Criar a classe Aluno conforme o slide anterior (nao esqueça de salvá-la em um arquivo Aluno.java) Criar uma classe executável AplicacaoMedia que instancie um objeto aluno, atribua valores para nome, rgm, nota1 e nota2 e imprima a notaFinal. Nao esqueça de salvá-la em um arquivo chamado AplicacaoMedia.java public class AplicacaoMedia { public static void main(String[] args) { //Digite seu codigo aqui } Compile ambas as classes e execute AplicacaoMedia