Autore Topic: Metodi aventi nome con trattino in basso  (Letto 300 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
« Ultima modifica: 08 Settembre 2020, 09:15:31 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 959
    • Mostra profilo
Re:Metodi aventi nome con trattino in basso
« Risposta #1 il: 25 Novembre 2018, 21:04:59 »
Il trattino basso se non mi sbaglio è per i metodi speciali come _new, _init ecc. e niente altro.
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Metodi aventi nome con trattino in basso
« Risposta #2 il: 26 Novembre 2018, 15:51:24 »
Per quanto riguarda i Metodi ma anche le Proprietà non è così.
L'underscore "_" davanti al nome del metodo limita in modo blando il fatto che, malgrado Gambas (ma accade anche per altri linguaggi) sposi i concetti della programmazione rivolta agli oggetti (OOP), permette di creare metodi pubblici che rompono l'incapsulamento della classe.
Proprio per alleviare questo fatto mette a disposizione del programmatore l'underscore (in altri linguaggi ci sono le classi amiche "friend") che permette di nascondere il metodo (ma anche la proprietà) in modo da non sbagliarci e non farci rompere l'incapsulamento a meno di non esserne consapevoli e cioè aggiungendo un underscore dopo il punto per poterlo vedere.

Le immagini allegate mostrano come la classe CFriend che eredita da CMat possa vedere sia il metodo che la proprietà mentre nella sub Main scrivento il punto dopo la classe vediamo solo quello che ci interessa.
Solo aggiungendo l'underscore vediamo la Proprietà e il metodo pubblici.
Nota: Per antonomasia la Proprietà è sempre pubblica.

Allego esempio dimostrativo, disponibile ai soli iscritti al forum.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro