·

Engenharia de Software ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

PROGRAMAÇÃO MODULAR CLASSES OBJETOS E ESTADOS instância da Classe Data Data dataUm new Data CONSTRUTORES instância da Classe Data Data dataUm new Data boolean bissexto dataUmanoBissexto SystemoutprintlnO ano é bissexto bissexto instância da Classe Data Data dataUm new Data boolean bissexto dataUmanoBissexto SystemoutprintlnO ano é bissexto bissexto instância da Classe Data Data dataUm new Data dataUmajustarData23082023 boolean bissexto dataUmanoBissexto SystemoutprintlnO ano é bissexto bissexto instância da Classe Data Data dataUm new Data dataUmajustarData23082023 boolean bissexto dataUmanoBissexto SystemoutprintlnO ano é bissexto bissexto instância da Classe Data Data dataUm new Data BOAS RAZÕES PARA CRIAR CONSTRUTORES CONSTRUTOR PADRÃO DEFAULT CONSTRUTOR PADRÃO DEFAULT Data dataUm new Data boolean ok dataUmdataValida Utilizados pela linguagem quando não há método construtor implementado Data dataUm new Data boolean ok dataUmdataValida Geralmente inicializa todos os atributos com null false ou zero Data dataUm new Data bool ok dataUmdataValida Mas Pode simplesmente não inicializar nada class Data private int dia private int mes private int ano public Data thisdia 1 thismes 1 thisano 1900 Data dataUm new Data SystemoutprintlndataUmdataFormatada PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram CONSTRUTORES public Data thisdia 1 thismes 1 thisano 1900 public Dataint d int m int a thisdia d thismes m thisano a ifthisdataValida thisdia 1 thismes 1 thisano 1900 MÚLTIPLOS CONSTRUTORES public Data thisdia 1 thismes 1 thisano 1900 public Dataint d int m int a thisdia d thismes m thisano a ifthisdataValida thisdia 1 thismes 1 thisano 1900 public Dataint d int m int a thisdia d thismes m thisano a ifthisdataValida thisdia 1 thismes 1 thisano 1900 public Data thisdia 1 thismes 1 thisano 1900 MÉTODO INICIALIZADOR private void initint dia int mes int ano thisdia dia thismes mes thisano ano ifthisdataValida thisdia 1 thismes 1 thisano 1900 O inicializador é utilizado pelos construtores public Data init111900 public Dataint dia int mes initdiamesANOATUAL public Dataint dia int mes int ano initdiamesano INICIALIZADOR class Data public Dataint dia int mes int ano thisinitdma class Data public Dataint dia int mes int ano thisinitdma Data dtNascimento new Data public Dataint d int m int a diad mesm anoa código adicional public Dataint d int m int a diad mesm anoa código adicional DESTRUTORES DESTRUTORES nomeDaClasse seu código aqui Objetivo Liberação de recursos usados pelo objeto Ex memória arquivos conexões de rede bancos de dados Processo que libera automaticamente memória que não está sendo mais utilizada Eliminam a necessidade de se desalocar memória explicitamente Eliminam o vazamento de memória Eliminam referências pendentes dangling pointer Linguagem Java não permite acesso direto à memória Não possui operadores de liberação de memória C C free delete Possui coletor de lixo garbage collector Um objeto é elegível para coleta de lixo quando não é mais acessado por nenhuma referência referencia um outro objeto que também o referencia formando um ciclo único e isolado O coletor de lixo é autônomo Método Systemgc São chamados automaticamente pelo coletor de lixo Execução do método finalize da classe Finalize Método obsoleto deprecated Java 9 Classe Cleaner e método clean Há uma classe estática GC em C Chamada manual da coleta Classes em C podem implementar a interface IDisposable Método Dispose Liberação de recursos sem destruir o objeto OBRIGADO Dúvidas