Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Ereditarietà

Vediamo come VB .NET consente di utilizzare l'ereditarietà, una delle caratteristiche fondamentali di ogni linguaggio di programmazione orientato agli oggetti.
Vediamo come VB .NET consente di utilizzare l'ereditarietà, una delle caratteristiche fondamentali di ogni linguaggio di programmazione orientato agli oggetti.
Link copiato negli appunti

Abbiamo detto più volte che Visual Basic .NET è un linguaggio di programmazione orientato agli oggetti. Avendo bene in mente il concetto di classe, analizziamo le caratteristiche fondamentali di questo paradigma di programmazione: ereditarietà, polimorfismo ed overloading.
Si definisce ereditarietà la possibilità per una classe (detta classe derivata) di derivare da un'altra (la classe base), in modo tale che il tipo derivato possa utilizzare le variabili, i metodi, ecc. del tipo base. La parola chiave utilizzata per creare una relazione di eredità è Inherits; questa istruzione deve obbligatoriamente essere sulla prima riga di codice dopo la definizione della classe. Si consideri l'esempio seguente:

Public Class Persona
  Protected sNome As String
  Private iTelefono As Integer

  '...

  Public Property Nome() As String
    Get
      Return sNome
    End Get
    Set(ByVal Value As String)
      sNome = Value
    End Set
  End Property
End Class

Public Class Impiegato
  Inherits Persona

  Private sMatricola As String

  '...

  Public Property Matricola() As String
    Get
      Return sMatricola
    End Get
    Set(ByVal Value As String)
      sMatricola = Value
    End Set
  End Property
End Class

In questo stralcio di codice la classe Impiegato eredita dalla classe Persona: questo significa che nella classe Impiegato è possibile utilizzare tutto ciò che in Persona è stato definito come
Public, Protected o Friend, sia esso una variabile, una Sub, una Function o una Property. Ad esempio, all'interno di Impiegato è possibile utilizzare sia la variabile sNome sia la proprietà Nome, mentre la variabile iTelefono non è visibile.
Provando a dichiarare oggetti di tipo Persona e Impiegato, si ottiene quanto segue:

Dim Imp As New Impiegato()
Imp.Matricola = "389321" 'Corretto: Matricola è una property della classe impiegato.
Imp.Nome = "Marco" 'Corretto: Nome è una property che la classe Impiegato eredita da Persona.

Dim Pers As New Persona()
Pers.Nome() = "Marco" 'Corretto: Matricola è una property della classe Persona.
Pers.Matricola = "389321" 'Errato: la property Matricola non è visibile alla classe Persona.

Se ora commentiamo la riga Inherits Persona nella classe Impiegato, otterremo un messaggio di errore relativo all'istruzione Imp.Nome = "Marco", dal momento che abbiamo eliminato l'ereditarietà.


Ti consigliamo anche