100 likes | 188 Views
Explore the concepts of constructors and destructors in programming, their types, usage, characteristics, and examples. Learn how constructors initialize objects and destructors release allocated resources.
E N D
Construtores e Destrutores Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Paradigmas de Programação
Construtores • Construtores são procedimentos realizados na construção de objetos • Parecem métodos, mas não têm tipo de retorno e têm nome idêntico ao nome da classe • Não fazem parte da definição do tipo do objeto (interface) • Nem sempre aparecem explícitos em uma classe: podem ser omitidos (o sistema oferece uma implementação padrão) • Para cada objeto, o construtor é chamado exatamente uma vez (durante sua criação) • Exemplo: • Objeto obj = newObjeto(); • Alguns podem requerer parâmetros • Objeto obj = newObjeto(35, "Nome"); Paradigmas de Programação
Construtores • Implícitos • São aqueles que não são declarados dentro do código da classe, porém são chamados no momento da instanciação. • A linguagem se encarrega de iniciar os atributos da classe com os valores padrões adequados aos seus tipos. • Explícitos • São construtores declarados dentro do código da classe e que têm a finalidade de iniciar os atributos com valores diferentes dos padrões ou realizar determinadas tarefas no momento em que o objeto é criado. Paradigmas de Programação
ConstrutoresCaracterísticas • É o primeiro método executado por um objeto. • Deve ter o mesmo nome da classe. • Não pode ter um tipo de retorno. • É utilizado quando um objeto é instanciado através do operador new • Na maioria das vezes é declarado como public • Ele é responsável por alocar memória Paradigmas de Programação
ConstrutoresExemplo class Cliente { int codigo; string nome; //Construtor public Cliente() { } } Paradigmas de Programação
ConstrutoresExemplo class Cliente { int codigo; string nome; //Construtor public Cliente(int cod, string nom) { codigo = cod; nome = nom; } } Paradigmas de Programação
ConstrutoresExemplo class Cliente { int codigo; string nome; //Construtores public Cliente() { } public Cliente(int cod, string nom) { codigo = cod; nome = nom; } } Paradigmas de Programação
Destrutores • Assim como os construtores, são métodos especiais que liberam os recursos alocados pelo objeto • São executados quando o garbage collector elimina um objeto da memória Paradigmas de Programação
Destrutores • Só pode existir um destrutor por classe • Não podem ser chamados são executados automaticamente • Não possuem modificadores de acesso (public, private) e não recebem parâmetros • Não utilizar destrutores vazios em C# • O mesmo gera um processamento desnecessário Paradigmas de Programação
Destrutores class Cliente { int codigo; string nome; //Destrutor ~Cliente() { //Codigo implementado para limpeza } } Paradigmas de Programação