Après un premier tuto assez simple, enfin j’espère, on sait déclarer et initialiser une classe, utiliser ses données et un peu les modifier. Nous allons maintenant voir comment accroître la puissance de la POO via diverses méthodes.

Class Imbriquées

Pour commencer, on va reprendre l’exemple de notre classe société. J’enlève volontairement le contenu de New() car il ne sera pas nécessaire d’y revenir et je considère que vous savez initialiser une class.

Public Class Societe
    'Déclaration des variables
    Public Id As Integer = 0
    Public Nom As String = ""
    Public Adresse As String = ""
    Public CP As String = ""
    Public Ville As String = ""

    Sub New(ByVal id_societe As String)
        'Initialisation de la class
    End Sub

End Class

On admettra qu’au delà de la fiche d’identité d’une société qui peut être intéressante, il nous faut également une classe Interlocuteur qui pourra contenir les informations de la personne concerné. Pour commencer une rajoute une class, rien de particulier là dedans.

Public Class Societe
    'Déclaration des variables
    Public Id As Integer = 0
    Public Nom As String = ""
    Public Adresse As String = ""
    Public CP As String = ""
    Public Ville As String = ""

    Sub New(ByVal id_societe As Integer)
        'Initialisation de la class
    End Sub

End Class

Public Class Interlocuteur
    'Déclaration des variables
    Public Id As Integer = 0
    Public Nom As String = ""
    Public Prenom As String = ""
    Public Telephone As String = ""

    Sub New(ByVal id_interlocuteur As integer)
        'Initialisation de la class
    End Sub

End Class

Alors comment faire pour compléter la class Interlocuteur quand on appelle la class Société et les relier ? On va partir du principe qu’on veut avoir les données du directeur pour chaque instance de Société qu’on créé, et que dans la base de données des Sociétés il existe un champs id_directeur qui contient le numéro de l’interlocuteur.

Public Class Societe
    'Déclaration des variables
    Public Id As Integer = 0
    Public Nom As String = ""
    Public Adresse As String = ""
    Public CP As String = ""
    Public Ville As String = ""
    Public Directeur As Interlocteur

    Sub New(ByVal id_societe As Integer)
        'Initialisation de la class
        Directeur = New Interlocuteur(id_directeur)
    End Sub

End Class

Public Class Interlocuteur
    'Déclaration des variables
    Public Id As Integer = 0
    Public Nom As String = ""
    Public Prenom As String = ""
    Public Telephone As String = ""

    Sub New(ByVal id_interlocuteur As integer)
        'Initialisation de la class
    End Sub

End Class

Donc on a déclaré la class Interlocuteur comme variable de la class Société. Mais maintenant, comment on utilise les valeurs ?

Dim Client As New Societe()

Client.Nom 'Renvoie le nom de la société
Client.Directeur.Nom 'Renvoie le nom du Directeur

Simple non ?

Méthodes et attributs

Derrière ces deux appellations se cachent une seule est unique chose, les fonctions. Dans une class, on peut déclarer une fonction (ou sub) qui sera appelée pour une action particulière. Alors pourquoi deux noms ? Simplement car : méthodes = private, attributs = public. Au final ça ne change pas grand chose sur leur utilisation si ce n’est qu’en « private », la fonctione ne sera pas accessible en dehors de la class.

Voici un exemple de fonction.

Public Class Societe
    'Déclaration des variables
    Public Id As Integer = 0
    Public Nom As String = ""
    Public Adresse As String = ""
    Public CP As String = ""
    Public Ville As String = ""
    Public Directeur As Interlocteur

    Sub New(ByVal id_societe As Integer)
        'Initialisation de la class
        Directeur = New Interlocuteur(id_directeur)
    End Sub

    Sub Sauvegarde(ByVal id_societe As Integer)
        'Cette fonction sauvegarde les modifications dans la base de données
    End Sub

End Class

Pour appeler ma sauvegarde c’est très simple.

Client.Sauvegarde()

Rien n’empêche de passer des paramètres bien sur donc la seule différence c’est la manière dont on va appeler cette fonction.

Conclusion

C’est la fin de ce tuto sur la POO en VB.Net. J’espère que j’ai été assez clair, n’hésitez pas à poser des questions s’il vous manque des éléments.

Laisser un commentaire