Como os métodos New e Finalizes trabalham em uma hierarquia de classes
Sempre que uma instância de uma classe é criada, o common linguagem tempo de execução (CLR) tenta executar um procedimento denominado New, se ele existir nesse objeto. New é um tipo de procedimento chamado uma constructor que é usado para inicializar novos objetos antes de executa qualquer Outros código em um objeto. Um construtor New pode ser usado para abrir arquivos, conectar-se a bancos de dados, inicializar variáveis e cuidar de quaisquer outras tarefas que precisam ser feita antes que um objeto possa ser usado.
Quando uma instância de uma classe derivada é criada, o construtor Sub New da classe base executa primeiro, seguido pelos construtores em classes derivadas.Isso acontece porque a primeira linha de código em um construtor Sub New usa a sintaxe MyBase.New() para chamar o construtor da classe imediatamente acima de si próprio na hierarquia de classe.Em seguida, o construtor Sub New é chamado para cada classe na hierarquia de classe até que o construtor para a classe base seja alcançado.Nesse ponto, o código no construtor para a classe base executa, seguido do código em cada construtor em todas as classes derivadas e o código na classe mais derivada é executado por último.
Quando um objeto não for mais necessário, o CLR chama o método Finalize para o objeto antes de liberar sua memória.O método Finalize é denominado um destructor porque ele realiza tarefas de limpeza, como salvar informações do estado, fechar arquivos e conexões com bancos de dados e outras tarefas que devem ser executadas antes de liberar o objeto.