Gambas-it

Gambas dal mondo esterno => Spagna => Topic aperto da: vuott - 25 Novembre 2018, 16:09:18

Titolo: Metodi aventi nome con trattino in basso
Inserito da: vuott - 25 Novembre 2018, 16:09:18
https://foro.gambas-es.org/viewtopic.php?f=1&t=7248
Titolo: Re:Metodi aventi nome con trattino in basso
Inserito da: Top Fuel - 25 Novembre 2018, 21:04:59
Il trattino basso se non mi sbaglio è per i metodi speciali come _new, _init ecc. e niente altro.
Titolo: Re:Metodi aventi nome con trattino in basso
Inserito da: Gianluigi - 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.