Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: metodi di un oggetto

  1. #1
    Utente di HTML.it L'avatar di zoom
    Registrato dal
    Dec 2001
    Messaggi
    1,737

    metodi di un oggetto

    sto facendo delle prove per creare delle dll.
    Ora mi chiedo... come faccio a creare i metodi?

    per intenderci... come succede con cdonts.

    mail.body
    mail.from
    mail.to

    in pratica devo fare un esempio stupido (tipo una somma) per ora creo la classe all'interno della quale dimmo addendo1 e addendo2
    Poi creo la function somma (addendo1 + addendo2).

    come faccio però a fare in modo che scrivendo

    obj.addendo1=5
    obj.addendo2=4

    mi ridimensioni le 2 variabili?:master:
    Chicco Ravaglia per sempre con noi!

  2. #2
    Quelli di cui stai parlando sono proprietà però,non metodi. Per impementare una proprietà hai due vie, o crei una variabile pubblica che quindi può essere letta e scritta in qualsiasi momento o fai cosi:

    codice:
    private gAdd1 as integer
    
    public property get Addendo1() as integer
       Addendo1=gAdd1
    end property
    public Property Let Addendo1(num as integer)
       gAdd1=num
    end property
    puoi anche creare properietà di sola lettura implementando la sola property get


    I metodi invece sono semplicemente delle sub o delle Function publiche:

    codice:
    Public Sub Calcola()
    ...


  3. #3
    Utente di HTML.it L'avatar di zoom
    Registrato dal
    Dec 2001
    Messaggi
    1,737
    Dim addendo_1, addendo_2

    Public Property Get addendo1()
    addendo_1 = addendo1
    End Property

    richiamato così

    obj.addendo1=5

    mi da questo errore

    L'oggetto non è un insieme: 'addendo1'

    pekkè??
    Chicco Ravaglia per sempre con noi!

  4. #4
    Utente di HTML.it L'avatar di zoom
    Registrato dal
    Dec 2001
    Messaggi
    1,737


    non avevo capito ke era tutto il codice...
    pensavo che erano 2 modi diversi per fare la stessa cosa....
    Adesso cmq funziona...

    in pratica come funziona?
    con let assegno il valore a una variabile temporanea,e poi assegno il valore alla variabile public con get?

    Chicco Ravaglia per sempre con noi!

  5. #5
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028
    Originariamente inviato da zoom


    non avevo capito ke era tutto il codice...
    pensavo che erano 2 modi diversi per fare la stessa cosa....
    Adesso cmq funziona...

    in pratica come funziona?
    con let assegno il valore a una variabile temporanea,e poi assegno il valore alla variabile public con get?

    Let e Get servono per esporre all'esterno (se sono public) una property (proprieta').
    Nel tuo caso assegni con al let il valore ad una variabile privata interna alla classe (quindi invisibile) e la ritorni con la Get.
    L'uso delle property e consigliabile (invece di usare variabili pubbliche) in quanto sia la Get che la Let sono vere e proprie funzioni (quindi puoi fare quello che vuoi quando viene impostato il valore della property).
    Va anche detto che se la property fa riferimento ad un oggetto devi implementare la Get e la Set (al posto della Let).

    Capito?


  6. #6
    Con la get vai a leggere il valore della properietà. Questo sistema è usato se non si vuole rendere publiche le variabile usate, oppure se si vogliono fare dei controlli prima di accettare dei valori.

    Il nome della properietà e quello che vedi dopo il get o il let(lettura scrittura), poi nelle due rutine in realtà puoi fare quello che vuoi, nelnostro caso scriviemo e leggiamo il valore di una variabile privata.



  7. #7
    Utente di HTML.it L'avatar di zoom
    Registrato dal
    Dec 2001
    Messaggi
    1,737
    quindi con get leggo il valore che assegno alla proprietà.
    ma poi xkè gli assegno il valore di un'altra variabile?

    Public Property Get Addendo1() As Integer
    Addendo1 = gAdd1
    End Property

    facendo così non assegno alla variabile addendo1 il valore di gAdd1?:master:

    funziona ma non riesco a capirne la logica...:master:
    Chicco Ravaglia per sempre con noi!

  8. #8
    Devi stare attento a non confondere le proprietà con le variabili.
    gAdd1 e una variabile privata che contiene il tuo dato.
    Addendo1 e la properietà che è visibile usando l'oggetto in un progetto esterno, le property poi vederle esattamente come vedi una function.
    Con
    codice:
    Public Property Get Addendo1() As Integer 
    Addendo1 = gAdd1 
    End Property
    dici che se l'utente richiede il valore della properietà Addendo1 deve ritornare il valore di gAdd1.
    Addendo1 non è una variabile, ma rappresenta il valore che viene ritornato dalla omonima property (o function); in altri linguaggi la stessa cosa si traduce con:

    Return gAdd1


    Spero di essere stato chiaronella mia spiegazione.


  9. #9
    Utente di HTML.it L'avatar di zoom
    Registrato dal
    Dec 2001
    Messaggi
    1,737
    ok....ora è tutto chiaro... (spero )

    questo è il metodo per fare i controlli prima di eseguire la function, vero?

    Se io ad esempio volessi impedire la somma se addendo1 è 5, come faccio ad uscire da questo giro?
    Chicco Ravaglia per sempre con noi!

  10. #10
    codice:
    property let addendo (byval dNewvalue as double)
       if  dNewvalue  = 5 then
    
       end if
    end proprty
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.