USO DE [ô]NEW[ô]

NICKOLASCARLOS 17/02/2015 11:27:48
#444567
Alguém poderia me explicar quando ou para que do uso de [ô]New[ô] na declaração de variáveis como por exemplo:
Dim Str as NEW string

Não sei se a sintaxe acima esta certa ou errada, usei-a apenas para exemplificar.
PROFESSOR 17/02/2015 16:37:12
#444571
Você pode usar [Ô]Dim[Ô] sem usar [Ô]New[Ô], ou pode usar em conjunto.

A instrução [Ô]Dim[Ô] faz com que o VB reserve um espaço nomeado (o nome da sua variável) para ser usada mais tarde. Assim, se você fizer [txt-color=#0000f0]Dim Str As String[/txt-color], é válido.

Já a instrução [Ô]New[Ô] cria uma instância [Ô]viva[Ô] dentro de uma variável, que então já pode ser processada normalmente. No caso da linha anterior, você faria numa próxima linha, a instrução [txt-color=#0000f0]Str = New String([Ô] [Ô],2), [/txt-color]por exemplo, o que é igualmente válido.

Mas olhando no contexto de que na maioria das vezes, a atribuição de valores vem logo em seguida á criação da variável, você pode abreviar e usar ambas na mesma linha, e nesse caso, ocorre o seguinte:

Para a instrução [txt-color=#0000f0]Dim Str As New String([Ô] [Ô],2)[/txt-color], por exemplo, o VB interpretará como [txt-color=#007100][Ô]Crie a variável de nome Str como sendo do tipo String e atribua á ela uma nova instância com o valor de dois espaços[Ô][/txt-color], poupando digitação.

ACCIOLLY 17/02/2015 18:08:43
#444575
geralmente usa-se o new quando se quer estanciar alguma coisa que queira criar ou que já existe. se for o que já existe (pode ser uma outra classe, ou um outro form, etc...) na verdade você está clonando, EX: [Ô]esta variavel será como uma nova classe já existente.[Ô]

por exemplo:

Digamos que você tenha criado uma classe por exemplo [Ô]conexao.vb[Ô] e dentro dela você criou uma variavel string pra manipular o db e um método de pesquisa assim:

public SQL as string

public sub pesquisa()

endsub

então voce instancia essa classe em qualquer outra classe usando

Dim conn as New conexao

dessa forma voce tem acesso a todas as variáveis e métodos públicos da classe conexao. Por exemplo:

conn.SQL = [Ô]sua sql[Ô] [ô]ou seja aqui vc seta um valor na string sql da classe de conexao
conn.pesquisa() [ô]ou seja vc chama o método da classe conexao

aí o que voce tem q saber na hora de criar uma variável é o seguinte, é pública ou privada? é estática ou não?
as variáveis privadas, ou seja as que voce começa declarando Dim ou Private, são privadas, e só podem ser acessadas pela classe em que foi criada.
as variáveis públicas (public) podem ser acessadas por outras classes desde que sejam estanciadas como no exemplo acima.
as variáveis estáticas (property) podem ser acessadas por qualquer outra classe, mas não instanciadas. Ficaria assim:

na classe conexao vc criaria a variavel

Property SQL as String

e em qualquer outra classe voce a chamaria assim

conexao.SQL = [Ô]aqui vc seta sua string[Ô]

tem outros tipos de variáveis, mas os que vc mais vai usar são essas.

té mais
TUNUSAT 18/02/2015 16:19:24
#444590
NICKOLASCARLOS,

Você não precisa usar o construtor para uma variável primitiva do tipo valor.
As variáveis primitivas (tipo valor e tipo referência) são:

================================================
Conceitos .NET - Fundamentos sobre tipos de dados
http://www.macoratti.net/net_tpdt.htm
----------------------------------------------------------------------------
[txt-color=#e80000]As propriedades dos tipos de dados por valor são:[/txt-color]

- Os tipos por valor são armazenados diretamente na pilha.
- Quando a alocação que contém uma instância de um tipo por valor é destruído a instância do tipo por valor também é destruída.
- Os tipos por valor são sempre acessados diretamente
- Não precisam ser iniciados como o operador New.
- Geralmente são utilizados com tipos de tamanho pequeno (menor que 16 bytes).
- Não é possível criar uma referência a um tipo por valor.
- Podem ser convertidos para referências usando um processo chamado [Ô]boxing[Ô].
- Uma variável de um tipo por valor sempre contém uma valor do tipo.
- Não podem conter um valor Null.

[txt-color=#e80000]As propriedades dos tipos de dados por referência são:[/txt-color]

- São alocados em um heap e submetidos a coleta de lixo (garbage collector) quando não existir mais nenhuma referência ao dado.
- A variável armazena apenas a referência ao dado , o dado sem si fica alocado no heap.
- Sempre contém um valor do tipo ou uma referência Null.
- Devem ser iniciados com o operador New.
- Atribuir uma variável de referência a outra variável faz com que esta variável contenha uma cópia da referência não uma cópia do valor que esta sendo referenciado.
- Uma referência Null refere-se a nada ; é inválido fazer algo com uma referência Null exceto atribuí-la. Uma variável de referência pode conter um Null mas não podemos usar a variável com o valor Null.
- São usados para tipos de tamanho grande ( maior que 16 bytes).
==================================================================

[Ô]NEW[Ô] para Construtores:

==================================================================
VB.NET - Construtores
http://www.macoratti.net/vbn_bas8.htm

Nota: O construtor é uma rotina que é invocada quando uma instância de uma classe é criada. No VB.NET esta rotina precisa ter o nome New para identificar o construtor.
==================================================================

[][ô]s,
Tunusat.
MOUSER 18/02/2015 17:01:07
#444592
Não esta errado mas depende muito da situação a qual você vai usar a variavel. é só texto que a variavel vai receber? então não a necessidade da NEW, mas se existe algo na String alem de receber só texto, podera usar o New.
New é usado muito para trazer as propriedades e metodos de uma classe criada. Por exemplo: tenho uma classe chamada clnConexaoBanco e dentro desta classe existe o metodo Conectar()
Então crio a variavel e chamo o metodo.
Ex:
Dim Banco As New clnConexaoBanco
Banco.Conectar()
Faça seu login para responder