Por que ao criar a variável Gabriela do tipo Cliente foi usado a palavra NEW e os parênteses? Por que não é somente Dim Gabriela As Cliente?
Dim Gabriela As New Cliente()
Por que ao criar a variável Gabriela do tipo Cliente foi usado a palavra NEW e os parênteses? Por que não é somente Dim Gabriela As Cliente?
Dim Gabriela As New Cliente()
O operador New cria uma nova instância do objeto Cliente, consequentemente aciona o construtor da classe.
Este operador é muito comum nas linguagens orientadas a objetos.
Maiores detalhes pode ser obtido no link abaixo:
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/operators/new-operator
Espero que ajude.
Att.
Obrigado pela resposta, Eduardo. O "link" que você passou é muito útil. Porém, ainda continuo com dúvida com relação ao uso dos parênteses. No curso de VB que estou fazendo, o instrutor cria duas classes. Não vi muita diferença entre elas. Por isso, a dúvida. Não entendi porque ao criar uma instância de ContaCorrente não foi usado parênteses e, ao criar uma instância de Cliente, o parênteses foi necessário. Dim ContaDaGabriela As New ContaCorrente Dim Gabriela As New Cliente()
Os parêntesis são opcionais se não existem parâmetros, então para um construtor sem parâmetros vc poderia usar das duas formas:
Dim obj As New Cliente
Dim obj As New Cliente()
Quanto existem parâmetros no construtor, será necessário passar parâmetros:
Dim gabriela As New Cliente("Gabriela Soares")
Na gramática da linguagem para a criação de objetos (https://ljw1004.github.io/vbspec/vb.html#ObjectCreationExpression) temos a expressão:
ObjectCreationExpression ::=
New NonArrayTypeName ( OpenParenthesis ArgumentList? CloseParenthesis )? ObjectCreationExpressionInitializer?
O sinal '?' indica a opcionalidade.
Espero que tenha ajudado.