Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.

Slides:



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

Programação em Java Prof. Maurício Braga
Modificadores Marco Antonio. Introdução Em todas as linguagens de programação o acesso a classes/métodos deve seguir algumas regras.
Java Básico Orientação a Objeto Marco Antonio Software Architect Fev/2008.
Prof. Thiago Pereira Rique
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição Autor: Walter Savitch, ISBN © 2005.
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.
Generalização, Especialização e Conceitos
Wagner Santos C. de Jesus
Membros estáticos.
Paradigmas da Programação – Semestre 1 – Aula 5
Capítulo 9 Herança 1.
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Elementos de Classe, class wrappers.
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
Tipos Agregados Homogêneos e Listas
Unidade I: “Dê um mergulho rápido”
Programação Orientada a Objetos com Java
C# Herança Sharp Shooters .NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa.
JAVA Orientação a Objetos
Programação I Aula 2 (Métodos)
Linguagem técnica de programação I Java
Linguagens de Programação II Aula 04 – Entendendo Classes
Linguagens de Programação II
Os métodos equals() e hashCode()
Capítulo 1 Tipo enumerado.
Aula 3 Igor Ebrahim (ies) if669 - Introdução à Programação Monitoria de IP.
Orientação a Objetos e Java Graduação em Ciência da Computação
Professora Lucélia Oliveira
POO - I Prof.: Jean Carlo Mendes
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Membro Static.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Tutorial de Utilização.
Programação Orientada a Objetos Curso de Engenharia da Computação Parte 03 – Conceitos Básicos III Prof. Fabricio Mota Oliveira
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Como criar uma Classe e.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
Curso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Tutorial de Utilização.
Wagner Santos C. de Jesus
Orientação a Objetos Parte II
Programação Orientada a Objetos - Java
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Curso de Aprendizado Industrial Desenvolvedor WEB
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.
Aula Prática 4 Monitoria IP/CC (~if669).
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
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 Orientada a Objetos - Java Professor: Jean Carlo Mendes.
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,
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Herança Modelagem e Programação Orientada a Objetos
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Novidades... Quartetos; – Equilibrar Conhecimento; – Aprender a Ensinar; – Trabalho em Equipe; – Facilitar a Vida do Professor. – Então, definam seus grupos.
Modificadores Programação II.
Aula Prática 13 Orientação a Objeto Monitoria
Array e ArrayList LPOO – 01/09/14.
Curso Básico de Android
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
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:

Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This

Auto-referência com o this - Invocando métodos de Classes e Objetos

Na aula passada relacionado a Orientação a Objetos, falamos como criar construtores, com ou sem parâmetros, em nossas classes. Nesta pequena aula, iremos aprender como referenciar membros de um objeto através da keyword 'this', que é uma ferramenta bastante usada por programadores Java em métodos dentro de Classes. Auto referência com o this - Invocando métodos de Classes e Objetos

Imagine que criamos uma classe chamada "Funcionario", onde seu construtor padrão recebe uma String com o nome do funcionário, um inteiro com seu número de identificação e um double com seu salário. Se esses dados, dentro da classe são: private String nome; private int ID; private double salario; Referenciando membros da classe com this

E o cabeçalho do construtor é: public Funcionario( String nome, int ID, double salario) Como faríamos a atribuição? Ora, do mesmo jeito que fizemos antes: nome = nome; ID = ID; salario = salario;

Epa! Notou que as variáveis da classe e as variáveis do cabeçalho tem o mesmo nome? E agora, como o Java vai saber que as variáveis da esquerda se referem as variáveis 'private' da classe a as da direita são as que o usuário mandou pra criar o objeto?

Já sei! Basta criar o método com nomes de variáveis diferentes, como fizemos antes: public Funcionario( String Nome, int id, double Salario){ nome = Nome; ID = id; salario = Salario; } Ok, isso funcionaria perfeitamente. Mas seria extremamente incômodo, e desorganizado, criar dois nomes pra um mesmo tipo de variável.

Não pode parecer problema agora, com essa simples aplicação. Mas em uma situação real, em que seu programa em Java terá centenas de variáveis e você tiver que criar e decorar nomes de variáveis, isso vai ser um baita problema. Para isso, existe o 'this', que referencia - ou seja, aponta - a própria classe! 'this' em inglês, significa 'isso', 'isto'. É bem fácil seu uso, veja como ficaria nosso construtor:

public Funcionario( String nome, int ID, double salario){ this.nome = nome; this.ID = ID; this.salario = salario; } Pronto. Agora ficou óbvio que 'this.nome' é a variável 'nome' da classe "Funcionario" e 'nome' é a variável que a classe recebeu para criar um objeto!

Usamos o 'this' dentro da classe. Assim, sempre que colocarmos 'this.' antes de uma variável, fica implícito ao Java que estamos nos referindo aos atributos daquela Classe. Podemos usar, inclusive, em um print, caso esteja dentro da classe. Em um método, por exemplo, como veremos a seguir.

Outra utilidade do 'this' é passar o objeto atual como parâmetro. public Object getObjeto(){ return this; } Outro exemplo disso é criar o método...: public String toString()

...na sua classe, e usar 'this' dentro de um print. O Java entenderá que deve ser impresso o que estiver dentro desse método 'toString()'. Outra utilidade do 'this' é invocar outros construtores. Para invocar um construtor dentro de outro, essa chamada deve ser o primeiro comando do construtor atual. Por exemplo, fazendo simplesmente: this;

Estamos chamando o construtor padrão, que não recebe parâmetros. Fazendo: this(2112); Estamos invocando o construtor que recebe um inteiro como parâmetro. Lembrando que quando criamos um construtor que não é o padrão, o Java não vai mais criar o construtor padrão vazio. Esse construtor padrão vazio só é criado automaticamente quando não criamos nenhum construtor.

Vamos criar um método, dentro da classe "Funcionário", que exibe todas as informações de um objeto dessa classe. Vamos chamar de 'exibir': public void exibir(){ System.out.printf("O funcionário %s, de número %d recebe %.2f por mês", this.nome,this.ID,this.salario); } Como invocar métodos de objetos que criamos

Para invocar, basta colocar '.exibir()' após o nome do objeto, que fará com que este método rode. Note, porém, que conforme explicamos em nossa aula sobre Classes e Objetos, essa classe é apenas uma abstração. Ou seja, esse método não existe de verdade! Ele só vai passar a existir quando criarmos um objeto dessa classe! (Na verdade ele pode existir, caso a classe fosse estática. Estudaremos isso em breve).

Para ilustrar a chamada de métodos de um objeto e o uso do 'this', vamos criar um funcionário - um objeto - de nome 'chefe'. O código ficará assim: thisMetodo.java public class thisMetodo{ public static void main(String[] args){ String nome = “Zezinho"; int ID=2112; double salario = 1000; Funcionario chefe = new Funcionario(nome, ID, salario); chefe.exibir(); } }

Funcionario.java public class Funcionario { private String nome; private int ID; private double salario; public Funcionario(){ System.out.println("Método construtor padrão invocado!"); }

public Funcionario( String nome, int ID, double salario){ this(); System.out.println(this); this.nome = nome; this.ID = ID; this.salario = salario; }

public String toString(){ return "Foi usado : System.out.println(this)"; } public void exibir(){ System.out.printf("O funcionário %s, de número %d recebe %.2f por mês", this.nome,this.ID,this.salario); }

Vamos agora conhecer o Métodos get e set !!!