ITAsimo456

es ereditarieta

Dec 18th, 2020 (edited)
400
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. Non scrivo virtual e override dove servono, così fai pratica.
  2.  
  3.  
  4.  
  5. Attivita
  6. - int ora_apertura
  7. l'orario di apertura.
  8.  
  9. - int ora_chiusura
  10. l'orario di chiusura.
  11.  
  12. # string nome
  13. il nome dell'attivita
  14.  
  15. + int OraApertura
  16. il setter imposta ora_apertura a valori tra 0-23 (se metto un numero minore di 0, allora impostalo a 0; se metto un numero maggiore di 23, allora impostalo a 23.)
  17.  
  18. + int OraChiusura
  19. stessa cosa di OraApertura, però legge/modifica ora_chiusura
  20.  
  21. + string Nome
  22. Proprietà in sola lettura
  23.  
  24. + Attivita(int ora_apertura, int ora_chiusura, string nome)
  25. imposta l'orario di apertura e chiusura ai due valori passati per parametro.
  26. poi chiama il metodo ImpostaNome passandogli nome.
  27.  
  28. + bool Aperta(int ora)
  29. restituisce vero se l'attivita è aperta durante l'ora ora. (vero se ora sta tra ora_apertura e ora_chiusura)
  30.  
  31. + abstract string Info()
  32. + abstract void ImpostaNome(string nome)
  33.  
  34.  
  35.  
  36.  
  37.  
  38. UfficioPostale --> Attivita
  39. - int n_lettere
  40. il numero di lettere in giacenza.
  41.  
  42. + int N_Lettere
  43. sola lettura.
  44.  
  45. + UfficioPostale(int ora_apertura, int ora_chiusura, string nome)
  46. fa la stessa identica cosa di quello di Attivita.
  47.  
  48. + void Spedisci()
  49. se l'ufficio postale è aperto e c'è una lettera in giacenza, spedisce una lettera: decrementa n_lettere.
  50.  
  51. + void Riceve()
  52. se l'ufficio postale è aperto, riceve una lettera: incrementa n_lettere.
  53.  
  54. + string Info()
  55. restituisce la stringa "Ufficio Postale {nome}: {n_lettere} in giacenza.".
  56.  
  57. + void ImpostaNome(string nome)
  58. imposta this.nome a "Poste{nome}" (es, con nome "Italiane", allora this.nome diventa "PosteItaliane")
  59.  
  60.  
  61.  
  62.  
  63.  
  64. Supermercato --> Attivita
  65. - int soldi
  66. i soldi dentro le casse del supermercato
  67.  
  68. + int Soldi
  69. sola lettura.
  70.  
  71. + Supermercato(int ora_apertura, int ora_chiusura, string nome, int budget)
  72. stessa cosa di quello di Attivita, però imposta il budget iniziale a valori maggiori di 0.
  73.  
  74. + void Compra(int costo)
  75. il supermercato compra delle scorte: sottrai costo a soldi.
  76.  
  77. + void Vendi(int costo)
  78. se il Supermercato è aperto vende un oggetto che costa costo: aggiungi costo a soldi.
  79.  
  80. + bool Aperta(int ora)
  81. se i soldi del supermercato sono a 0 (bancarotta), allora l'attività e chiusa e restituisce falso. Altrimenti, restituisce lo stesso risultato del metodo originale.
  82.  
  83. + string Info()
  84. restituisce la stringa "Supermercato {nome} con {soldi} soldi.".
  85.  
  86. + void ImpostaNome(string nome)
  87. imposta this.nome a "{nome} risparmio" (es, con nome "Picchio", allora this.nome diventa "Picchio Risparmio")
Advertisement
Add Comment
Please, Sign In to add comment