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

    [VB.NET] Uso delle classi

    Da poco mi sono buttato su vb.net.

    Per imparlo guardavo un mio amico.

    Ho visto che lui usa molto le classi, però a mio avviso per alcuni funzioni non le uso nel migliore dei modi.

    Quindi volevo chiedervi a voi quale fosse il migliore.

    Ad esempio lui deve lavorare su una tabella "Atleti"
    Quindi si crea la classe clsAtleti e scrive:

    -------------------------------------------------
    Public Sub ApriRS()
    NomeTabella = "tbAtleti"
    ConnectionString = conn.Database
    OpenRecordSet("select * from tbAtleti order by Nominativo")
    End Sub
    --------------------------------------------
    Public Sub AggiungiRecord(ByVal DataPrimaIscrizione As String, _
    ByVal Nominativo As String, _
    ByVal DataNascita As String, _
    ByVal sesso As Integer, _
    ByVal Indirizzo As String, _
    ByVal Cap As String, _
    ByVal Città As String, _
    ByVal Provincia As String, _
    ByVal Telefono As String, _
    ByVal Cellullare As String, _
    ByVal Email As String)

    AddNew()
    FieldValue("DataPrimaIscrizione") = DataPrimaIscrizione
    FieldValue("Nominativo") = Nominativo
    FieldValue("DataNascita") = DataNascita
    FieldValue("sesso") = sesso
    FieldValue("Indirizzo") = Indirizzo
    FieldValue("Cap") = Cap
    FieldValue("Città") = Città
    FieldValue("Provincia") = Provincia
    FieldValue("Telefono") = Telefono
    FieldValue("Cellullare") = Cellullare
    FieldValue("Email") = Email
    Update()
    MsgBox("Atleta inserito correttamente", MsgBoxStyle.Information)
    End Sub
    ------------------------------------------------
    Public Sub ModificaRecord(ByVal IDAtleta As Integer, _
    ByVal DataPrimaIscrizione As String, _
    ByVal Nominativo As String, _
    ByVal DataNascita As String, _
    ByVal sesso As Integer, _
    ByVal Indirizzo As String, _
    ByVal Cap As String, _
    ByVal Città As String, _
    ByVal Provincia As String, _
    ByVal Telefono As String, _
    ByVal Cellullare As String, _
    ByVal Email As String)
    FindFirst("IDAtleta", IDAtleta)
    If RecordsFound Then

    FieldValue("DataPrimaIscrizione") = DataPrimaIscrizione
    FieldValue("Nominativo") = Nominativo
    FieldValue("DataNascita") = DataNascita
    FieldValue("sesso") = sesso
    FieldValue("Indirizzo") = Indirizzo
    FieldValue("Cap") = Cap
    FieldValue("Città") = Città
    FieldValue("Provincia") = Provincia
    FieldValue("Telefono") = Telefono
    FieldValue("Cellullare") = Cellullare
    FieldValue("Email") = Email
    Update()
    End If
    End Sub
    --------------------------------------------

    Public Sub EliminaRecord(ByVal IDAtleta As Integer)
    FindFirst("IDAtleta", IDAtleta)
    If RecordsFound Then
    Delete()
    Update()
    End If
    End Sub
    ------------------------------------------------
    poi altre funzioncine

    poi nella form mette:
    ---------------------------------------------
    Public atleta As clsAtleti

    Private Sub btnSalva_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalva.Click
    If txtNominativo.Text = "" Or txtDatadiNascita.Text = "" Or ValoreCombo = 0 Then Exit Sub
    atleta.AggiungiRecord(cmbDataPrimaIscrizione.Text, _
    txtNominativo.Text, _
    txtDatadiNascita.Text, _
    ValoreCombo, _
    txtIndirizzo.Text, _
    txtCap.Text, _
    txtCittà.Text, _
    txtProvincia.Text, _
    txtTelefono.Text, _
    txtCellulare.Text, _
    txtEmail.Text, _
    "", _
    Nothing)
    atleta.Update()
    Me.Close()
    End Sub
    -------------------------------------
    Private Sub btnSalvaModifiche_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalvaModifiche.Click

    atleti.ModificaRecord(CodiceAtleta, cmbDataPrimaIscrizione.Text, txtNominativo.Text, txtDataNascita.Value, ValoreComboSesso, txtIndirizzo.Text, txtCap.Text, txtCittà.Text, txtProvincia.Text, txtTelefono.Text, txtCellulare.Text, txtEmail.Text)
    end sub
    ----------------------------------------
    Private Sub btnElimina_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnElimina.Click
    atleti.EliminaRecord(CodiceAtleta)
    end sub
    -------------------------------------------------

    Lui prendi i valori e li passa di qua e di la tra la form e la classe.

    Ma non conviene direttamente in questo caso lavorare direttamente nella form????

    Secondo me la classe va usata quando devi creare una cosa che si ripete, quindi una volta creata una funziona la richiami e la usi.
    In questo caso dovendo fare inserimento, modifica ed eliminazione secondo me conviene farlo direttamente sulla form, senza passare di dati di qua e di là, perchè si scrivo codice che non serve

    Secondo voi????

    Spiegatemi che mi serve

    Ciao e grazieeeeeeee
    i7 3770K --- Asus P8z77 --- 2x4Gb Corsair Vengeance 2133MHz--- Enermax NoiseTaker II 600w --- SSD: 128Gb Vertex 4 --- WD 1000Gb --- WD 2000Gb --- ASUS ATI5850 1Gb --- Case: Kandalf 25cm Fan --- Tastiera Logitech G15 --- Mouse Razer Copperhead

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Originariamente inviato da marco.santilli
    Da poco mi sono buttato su vb.net. [...]
    Secondo me la classe va usata quando devi creare una cosa che si ripete, quindi una volta creata una funziona la richiami e la usi.[...]
    Spiegatemi che mi serve
    Apriti cielo! Non è possibile spiegare in poche righe quali sono i vantaggi della programmazione ad oggetti, oltre al fatto che l'esempio riportato (che non ho esaminato a fondo, del resto non è sempre possibile dare un parere sulla bontà concettuale di un'organizzazione mentale basandosi sul codice, che dovrebbe riflettere la prima e non viceversa) può essere implementato in mille modi diversi, a seconda delle necessità e dello schema organizzativo che ciascuno applica.

    Se vuoi approfondire la programmazione ad oggetti, c'è un corso segnalato nelle discussioni in rilievo che ne spiega i concetti fondamentali.

    E' inutile valutare l'utilità della creazione di classi in un contesto così ristretto, cioè misurando quanto codice si scrive per salvare dati che presi da un Form sarebbero già bell'e pronti.

    Occorre tenere conto delle esigenze di manutenzione e scalabilità, ad esempio.
    Supponi di migrare domani la tua applicazione verso il Web: se la tua logica è racchiusa in un Form di Windows Forms, è necessario fare i salti mortali per tirarla fuori e renderla disponibile anche ad un'applicazione Web; usando le classi, invece, e organizzando il progetto in un certo modo, compatibile con il paradigma OOP, è possibile racchiudere la logica in elementi su cui, successivamente, si baserà l'interfaccia, il servizio Web, il sito Web e così via, in breve disaccoppiare la logica dall'interfaccia utente.

    Il discorso è lungo. Apprendi i rudimenti della programmazione ad oggetti e non ci sarà bisogno di spiegare quali sono i vantaggi di un simile approccio, in riferimento alla gestione dei dati su cui si basa l'applicazione (in quanto, anche se non lo si ha sempre in mente, la programmazione ad oggetti la si usa anche nello sviluppo di un'interfaccia utente, considerando che ogni Form creato eredita da System.Windows.Forms.Form).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.