Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Documentos relacionados
Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU

Linguagem de Programação II Implementação

Conceitos Básicos da Programação OO

Programação Orientada a Objetos II

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Construtores. Introdução

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Programação Java (nível intermediário) 4. Polimorfismo

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III

Classes, Métodos e Propriedades

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Introdução à Programação Orientada a Objetos em C++

Aula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Classes e Objetos. Sintaxe de classe em Java

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

Interfaces e Classes Abstratas

Programação Orientada a Objetos

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

Curso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02.

Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

POO - Programação Orientada a Objetos

Linguagem de Programação III

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

9 Classes Abstractas e Interfaces

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Empacotador de Préprocessadores. Primeiro Exemplo Usando Classes em C++

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos. Prof. Leonardo Barreto Campos 1

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Programação Orientada aos Objectos I

Técnicas de Programação:

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Linguagem de Programação III

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Programação Orientada a Objetos em Java

Programação Orientada a Objetos para Redes de Computadores

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Orientação a Objetos e Java

JAVA. Professor: Bruno Toledo

Classes, instâncias e métodos de acesso. prática

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

MULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci

3. Para a classe Circulo abaixo, escreva os métodos indicados pelos dois primeiros comentários.

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

Análise de Programação

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

C com introdução a OO

Vetores Unimensionais

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Relacionamentos entre objetos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Estrutura de Dados Funções e Procedimentos

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Transcrição:

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres

Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo de retorno tem que ser o mesmo A quantidade ou o tipo dos parâmetros tem que ser diferentes public class Triangulo { private int lado1; private int lado2; private int lado3; public int calculaperimetro(){ return lado1+lado2+lado3; public int calculaperimetro(int l1, int l2, int l3) { return l1+l2+l3; 2

Construtores Servem para inicializar objetos. Determina que ações devem ser executadas na criação de um objeto. Cuida da alocação de todos os recursos necessários para o objeto e retorna uma instância do objeto Frequentemente recebem valores de parâmetros externos para inicializar os atributos. Uma classe pode ter um ou mais construtores (overloading - sobrecarga) 3

Construtores - Exemplo Sempre têm o mesmo nome da suas classes. Não pode especificar um valor de retorno (nem void). Por Exemplo: public class Triangulo { private int lado1; private int lado2; private int lado3; public Triangulo(int la1, int la2, int la3){ lado1 = la1; lado2 = la2; lado3 = la3; Por padrão, o compilador fornece um construtor padrão sem parâmetros em qualquer classe que não inclua explicitamente um construtor 4

Referência this Indica que um dado atributo é próprio da classe. public class Triangulo { private int lado1; private int lado2; private int lado3; public Triangulo(int la1, int la2, int la3){ lado1 = la1; lado2 = la2; lado3 = la3; public class Triangulo { private int lado1; private int lado2; private int lado3; Construtor anterior Usando this public Triangulo(int lado1, int lado2, int lado3) { this.lado1 = lado1; this.lado2 = lado2; this.lado3 = lado3; 5

Construtores - Exemplo public class Programa { public static void main(string args[]) { Triangulo t = new Triangulo(); ERRO! A classe Triangulo possui apenas um construtor que requer 3 argumentos inteiros. O construtor padrão não foi criado porque Triangulo já tem construtor 6

Construtores - Exemplo public class Programa { public static void main(string args[]) { Triangulo t1 = new Triangulo(5, 2, 6); Triangulo t2 = new Triangulo(3, 4, 5); Triangulo t3 = new Triangulo(5, 3, 3); Agora SIM! 7

Construtores O construtor pode garantir que os dados com os quais inicializaremos as variáveis são adequados. Essa prática também é aconselhável para os métodos (principalmente set e get). public class Triangulo { private int lado1; private int lado2; private int lado3; public Triangulo(int la1, int la2, int la3){ if (la1>0 && la1<(la2+la3)){ lado1 = la1; if (la2>0 && la2<(la1+la3)){ lado2 = la2; if (la3>0 && la3<(la1+la2)){ lado3 = la3; Perceba que o construtor Triangulo se assegura que os valores iniciais sejam válidos para inicializar a variável. Caso o valor digitado não satisfaça a condição, a variável continua com seu valor padrão 0.0. 8

Sobrecarga de construtores Os métodos de uma classe podem ser sobrecarregados. Para sobrecarregar um método construtor, simplesmente forneça uma definição separada de cada um dos métodos sobrecarregados. Tais métodos devem possuir listas de parâme-tros diferentes. 9

Sobrecarga de construtores class Empregado { private String nome; private double salario; public Empregado(String n, double s) { nome = n; salario = s; public Empregado(String n) { nome = n; salario = 500; public class TestEmpregado { public static void main(string args[]) { Empregado j = new Empregado( Joao,1500); Empregado m = new Empregado( Maria ); 10

Destrutores Muitas linguagens OO têm métodos denominados Destrutores, que desalocam todos os recursos alocados pelo construtor. São chamados quando um objeto deixa de existir Java cuida de liberar todos os recursos alocados para um objeto que não é mais referenciado através do garbage collector (GC) O GC de Java possui uma gerência automática de memória, isto é, quando um objeto não é mais referenciado pelo programa, ele é automaticamente coletado (destruído). Existem algumas situações de limpeza que o GC não efetua. Por exemplo, arquivos abertos ou conexão com Banco de Dados. Neste caso pode-se definir um método chamado de finalizer. Este método é chamado imediatamente pelo GC antes do objeto ser destruído. O Garbage collector pode ser chamado explicitamente através do método System.gc(); 11

Exercício Crie uma classe chamada Funcionario. Atributos: Nome, Sobrenome, Salario Métodos Implemente os métodos get e set para os atributos. Implemente dois métodos construtores Testando: O primeiro recebe os parâmetros Nome, Sobrenome, Salario O segundo recebe os parâmetros nome e sobrenome (o salario será inicializado com 0) Escreva uma classe de teste chamada FuncionarioTeste. Crie dois objetos Funcionario e exiba o salário anual de cada objeto. Então dê a cada um aumento de 10% e exiba novamente o salário anual de cada Empregado (no main da classe FuncionarioTeste). 12

Referências Java: Como programar. Autores: H. M. Deitel e P. J. Deitel Editora: Pearson 6a Edição Capítulo 3: Introdução a Classes e Objetos Programação Orientada a Objetos com Java, David J. Barnes and Michael Kolling. Pearson 2004. Nota: O material da apresentação foi extraido de algumas das fontes aqui apresentadas 13