Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação Métodos - Constructors Construtores • “O operador new sempre precede uma chamada, semelhamente ao método comum, mas no qual o nome desse método é o mesmo que o da classe cujo objeto desejamos instanciar”. • “Os construtores são métodos especiais, acionados• “Os construtores são métodos especiais, acionados pelo sistema no momento da criação de um objeto”. • “O construtor é o responsável pela alocação de memória e pelo preparo do funcionamento do novo objeto” Peter Jandl Júnior Introdução a Java Construtores • Para contornar os problemas no uso de métodos de inicialização, a maioria das linguagens de programação orientadas a objetos, e entre estas a linguagem Java, oferece a noção de construtor. • O construtor é um código especial responsável pela inicialização dos atributos de instância de um objeto de uma determinada classe. Construtores • Um construtor em Java: � Possui o mesmo nome da classe (respeitando maiúsculas e minúsculas); � Pode possuir ou não parâmetros; � Não possui um tipo de retorno, nem mesmo void. <modificador_de_acesso> <nome_classe>(<parâmetros>) { //corpo do construtor } Constructor - exemplo public class Contador { private int cont; public Contador (){ constructor cont = 0; } ... } Construtores • Quando um objeto é instanciado: � Operador new aloca a memória necessária; � Construtor é invocado automaticamente para inicializar os atributos do objeto. public class Contador { private int cont; public Contador (){public Contador (){ cont = 0; } ... } public class Principal { public static void main (String[] args) { Contador cn = new Contador (); } } Construtores • Se nenhum construtor é definido para uma determinada classe, Java irá definir um construtor padrão (chamado construtor default) � Obs: Caso qualquer construtor seja definido na classe, Java não irá disponibilizar o construtorclasse, Java não irá disponibilizar o construtor default. Construtor Padrão (default) (implicito) public class Contador { private int cont; public void incrementar (){ cont = cont + 1; } public void somarValor (int vlr){ cont = cont + vlr; } public int obterContador(){ return cont; } } public class Principal { public static void main (String[] args) { Contador cn = new Contador (); } } chamada ao constructor default Construtor não default public class Contador { private int cont; public Contador (int vlrInicial) { cont = vlrInicial; } public void incrementar (){ cont = cont + 1; } public void somarValor (int vlr){ cont = cont + vlr; } public int obterContador(){ return cont; } } public class Principal { public static void main (String[] args) { Contador cn = new Contador (); } } chamada ao constructor default gera erro compilacao Construtor não default public class Contador { private int cont; public Contador (int vlrInicial) { cont = vlrInicial; } public void incrementar (){ cont = cont + 1; } public void somarValor (int vlr){ cont = cont + vlr; } public int obterContador(){ return cont; } } public class Principal { public static void main (String[] args) { Contador cn = new Contador (100); } } chamada ao constructor da classe -ok Classe com 2 construtores public class Contador { private int cont; public Contador () { } public Contador (int vlrInicial) { cont = vlrInicial; } public void incrementar (){ cont = cont + 1; } public void somarValor (int vlr){public void somarValor (int vlr){ cont = cont + vlr; } public int obterContador(){ return cont; } } public class Principal { public static void main (String[] args) { Contador cn1 = new Contador (100); Contador cn2 = new Contador(); } } chamada aos construtores da classe
Compartilhar