Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Alcune info sulle classi in ASP

    Mi sto accingendo a realizzare una classe in ASP per la generazione di vari formati di feed, dall'RSS all'Atom...

    Siccome non sono solito ad usare le classi, o meglio, non in ASP, avrei un paio di dubbi in proposito.

    Ve li espongo

    1. Una classe può richiamare un oggetto definito mediante un'altra classe nonchè istanziare un nuovo oggetto (sempre definito in un'altra classe)

    2. E' possibile gestire l'ereditarietà? In particolare sarei interessato alla possibilità di definire classi come implementazione di superclassi o classi astratte.

    3. E' possibile definire un metodo/classe come astratta?

    4. Mi sono letto la classe di Baol ed ho trovato un riferimento a una procedura come Public Property. Quale funzione ha in questo caso l'uso di un costrutto Property (ero fermo a metodi -> funzioni e proprietà -> variabili).


    Per il resto ho trovato sufficiente documentazione.
    Se ho ben compreso infine, il costruttore di un oggetto viene gestito tramire la sub Initialize che svolge la stessa funzione.

    Dimenticavo, se avete documenti in merito, sarò lieto di gustarmeli.

  2. #2
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    1. Una classe può contenere il riferimento ad tutti gli oggetti gloabli creati ed ai loro metodi.

    2. No in vbscript. Si in javascript

    3. No in vbscript. Si in javascript

    4. Le property consentono di legare ad una proprietà , una parte di codice e di consentire o meno la scrittura/lettura dei dati. Se definisci solo
    codice:
    Public Property Get Value()
    End Property
    Protrai fare Response.Write Oggetto.Value
    Ma non potrai fare Oggetto.Value=1. Per questo devi definire

    codice:
    Public Property Let Value()
    End Property
    La comodità sta nel poter esegure del codice in corrispondenza dell'assegnazione di un valore ad una variabile o in corrispondenza della lettura.

    Vbscript e javascript non hanno i costrutturi.
    In vbscript c'è Initiazlie ma non è il costruttore è solo una funzione lanciata sull'istanza dell'oggetto.

    Per quanto riguarda l'ereditarietà di javascript, naturlmente ha molte differenze con i classici linguaggi ad oggetti. Javascript è poco formale e non è tipizzato. L'ereditarietà la devi implementare tu come meglio credi. Ci sono diverse risorse in merito.

  3. #3
    Ok, grazie, ho le idee in parte più chiare.
    Una ultima cosa, per Property, Let e Get indicano?

    Get penso la possibilità di avere una assegnazione, ma Let?

  4. #4
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    codice:
    Class cTest
    
    Private pValue
    
    Private Sub Class_Initialize(9
    pValue = "Lettura del valore"
    End Sub
    
    Public Property Get Value()
     Value = pValue
    End Property
    
    Public Property Let Value(NuovoValore)
    pValue = NuovoValore
    End Property
    
    Public Sub Debug(s)
     Response.Write s & "
    "
    End Sub
    
    end Class
    
    Set Obj = new cTest
    Obj.Debug "Valore iniziale di Obj.Value (Get) : " & Obj.value
    Obj.Debug "Modifico il valore di Value (Let)"
    Obj.Value = "Nuovo valore"
    Obj.Debug "Obj.Value : " & Obj.value

  5. #5
    Ok, thanks.
    Ma non potevano usare Set invece di Let?

  6. #6
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Infatti dovrebbe esistere, si usa quando gli argomenti sono oggetti O il metodo restituisce un oggetto.

    Ola

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.