Advertisement
NelloRizzo

Persone e Persone VIP

Apr 23rd, 2020
1,046
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.72 KB | None | 0 0
  1. Module Module1
  2.     ' Supponiamo di voler gestire i dati di una persona
  3.     ' cosa è una persona?
  4.     ' una persona è identificata da un nome e un cognome
  5.     Class Persona
  6.         Public Property Nome As String
  7.         Public Property Cognome As String
  8.  
  9.         Public Overridable Function ComeStringa()
  10.             Return String.Format("{0} {1}", Nome, Cognome)
  11.         End Function
  12.     End Class
  13.     ' Adesso vogliamo gestire dei vip che hanno nome, cognome, titolo
  14.     ' cosa intendo per vip?
  15.     ' un vip è identificato COME UNA PERSONA che ha, oltre a un nome e un cognome, ANCHE un titolo
  16.     ' IS A - IS A KIND OF
  17.     Class Vip
  18.         Inherits Persona
  19.         Public Property Titolo As String
  20.         Public Function DammiNome() As String
  21.             Return String.Format("{0} {1} {2}", Titolo, Nome, Cognome)
  22.         End Function
  23.         Public Overrides Function ComeStringa()
  24.             Return String.Format("Piacere, sono {2} {0} {1}", Nome, Cognome, Titolo)
  25.         End Function
  26.     End Class
  27.     Sub GestisciVip(v As Vip)
  28.         Console.WriteLine("Sto gestendo i dati di {0}", v.DammiNome())
  29.     End Sub
  30.     Sub GestisciPersona(p As Persona)
  31.         Console.WriteLine("Sto gestendo i dati di {0}", p.ComeStringa())
  32.     End Sub
  33.     Sub Main()
  34.         Dim paperone As New Persona
  35.         paperone.Nome = "Paperon"
  36.         paperone.Cognome = "De' Paperoni"
  37.         Console.WriteLine(paperone.ComeStringa())
  38.         Dim archimede As New Persona() With {.Nome = "Archimede", .Cognome = "Pritagorico"}
  39.  
  40.         GestisciPersona(paperone)
  41.         GestisciPersona(archimede)
  42.         Dim pico As New Vip() With {.Nome = "Pico", .Cognome = "De' Paperis", .Titolo = "Prof."}
  43.         GestisciVip(pico)
  44.         GestisciPersona(pico)
  45.     End Sub
  46.  
  47. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement