Ir para conteúdo
Fórum Script Brasil
  • 0

[resolvido] Pegando Valores De Classes Diferentes


Guest --Paulo --

Pergunta

Guest --Paulo --

Olá pessoal,

como eu posso acessar os valores das variáveis de uma classe diferente, sem utilizar herança (já existe uma outra herança)? Quando a classe principal vai declarar a outra, eu preciso dar "new" (dim a as new classe) ai não consigo acessar as informações :(

vlw

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Guest --Paulo --

bom,

vamos supor q eu tenho a classe "escrever" e a classe "main". Dentro da classe escrever, eu tenho a propriedade "texto".

Para eu acessar escrever atraves de main, eu tenho q criar o objeto ne? dim escreve as new escrever. Ai eu acessaria assim: escrever.texto bla bla bla... só que, por criar um novo objeto, eu não consigo acessar a informação que está contida em "texto". Vamos supor q o valor de texto é "sim". Seu eu dou console.writeline(escreve.texto) não aparece sim..

Eu quero saber como faço para poder acessar "texto". Deu pra entender?

falou.. vlw

Link para o comentário
Compartilhar em outros sites

  • 0

Crie o objeto como um membro público da classe, ou seja:

Public Class Main
    Public escrever As Escrever

    Public Sub New()
        escrever = New Escrever()
    End Sub

    Public Sub Imprimir()
        Console.WriteLine(Me.escrever.texto)
    End Sub
End Class
Daí você pode fazer:
Dim x as New Main()
x.escrever.texto = "teste"
x.Imprimir()

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Paulo --

Olá Graymalkin,

desculpa estar reabrindo este tópico, mas surgiu outro problema. No caso, eu criei agora uma terceira classe e preciso que ela acesse as informações que estão contidas em "Main" ou "escrever"... só que qd eu declaro a classe como new, os valores somem.

esse jeito que você me passou continua funcionando para a terceira classe? porque eu tentei mas estava dando erro, falando q o objeto que foi criado pela classe main não existia, ou estava inacessível...

obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Você tem que dar uma estudada sobre escopos de objetos. Eles determinam onde um objeto está e sua acessibilidade. Por exemplo, ao declarar um objeto dentro da rotina Teste() ele só será visível dentro da mesma:

Sub Teste()
    Dim x As New Classe()

    ...
    '"x" só existe até aqui!
End Sub

Se você quer utilizar um mesmo objeto em duas rotinas diferentes você deve colocá-lo em um escopo comum a ambos, como no exemplo do meu post anterior. E se você quiser usar o mesmo objeto em diferentes partes do programa também pode colocá-los em um módulo (Module), a fim de que eles se tornem globais ao projeto todo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...