<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://www.gambas-it.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Lezioni%3A_programmazione_Orientata_agli_Oggetti</id>
	<title>Lezioni: programmazione Orientata agli Oggetti - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="https://www.gambas-it.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Lezioni%3A_programmazione_Orientata_agli_Oggetti"/>
	<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;action=history"/>
	<updated>2026-10-23T06:32:08Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.39.15</generator>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42135&amp;oldid=prev</id>
		<title>Vuott il 00:05, 23 ago 2025</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42135&amp;oldid=prev"/>
		<updated>2025-08-23T00:05:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 18:05, 22 ago 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l50&quot;&gt;Riga 50:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 50:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;I casi espliciti di variabili ''locali'' sono le variabili dichiarate all'interno di una sub-routine:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;I casi espliciti di variabili ''locali'' sono le variabili dichiarate all'interno di una sub-routine:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Dim '''vr''' As Integer&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Dim '''vr''' As Integer&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;o dei parametri formali di una ''&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;funzione&lt;/del&gt;'' o di una ''Procedura'' chiamata:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;o dei parametri formali di una ''&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Funzione&lt;/ins&gt;'' o di una ''Procedura'' chiamata:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Function Nome_Funzione('''vr''' As Integer)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  Function Nome_Funzione('''vr''' As Integer)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Come già detto, in questi casi le variabili, essendo ''locali'', non sono leggibili né scrivibili (non le si può assegnare valori) nelle altre routine. &amp;lt;BR&amp;gt;Insomma, le variabili ''locali'' non possono essere richiamate nelle routine diverse da quelle ove furono dichiarate. Si dice che la ''vita'' di una variabile ''locale'' inizia e finisce nel solo ambito della routine ove sia stata dichiarata: essa può essere utilizzata esclusivamente in tale ambito.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Come già detto, in questi casi le variabili, essendo ''locali'', non sono leggibili né scrivibili (non le si può assegnare valori) nelle altre routine. &amp;lt;BR&amp;gt;Insomma, le variabili ''locali'' non possono essere richiamate nelle routine diverse da quelle ove furono dichiarate. Si dice che la ''vita'' di una variabile ''locale'' inizia e finisce nel solo ambito della routine ove sia stata dichiarata: essa può essere utilizzata esclusivamente in tale ambito.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;In termini di allocazione della &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;memroria &lt;/del&gt;si ha una variabile &amp;quot;Locale&amp;quot;, quando detta area di memoria resta riservata dal sistema in favore del programma  dal punto di dichiarazione nella routine sino all'uscita dalla routine medesima.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;In termini di allocazione della &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;memoria &lt;/ins&gt;si ha una variabile &amp;quot;Locale&amp;quot;, quando detta area di memoria resta riservata dal sistema in favore del programma  dal punto di dichiarazione nella routine sino all'uscita dalla routine medesima.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Visibilità verso altre Classi: &amp;quot;Pubblico&amp;quot; e &amp;quot;Privato&amp;quot;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Visibilità verso altre Classi: &amp;quot;Pubblico&amp;quot; e &amp;quot;Privato&amp;quot;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vuott</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42134&amp;oldid=prev</id>
		<title>Vuott il 00:01, 23 ago 2025</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42134&amp;oldid=prev"/>
		<updated>2025-08-23T00:01:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 18:01, 22 ago 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Riga 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' è dunque un'entità che si pone in una dimensione universale. E', come già detto, un Insieme che raccoglie e dà significato ad entità particolari, contingenti ad essa sottoposte e riferentesi: gli '''''[[Oggetti, Classi e Moduli|Oggetti]]'''''.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' è dunque un'entità che si pone in una dimensione universale. E', come già detto, un Insieme che raccoglie e dà significato ad entità particolari, contingenti ad essa sottoposte e riferentesi: gli '''''[[Oggetti, Classi e Moduli|Oggetti]]'''''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;Gli ''[[Oggetti, Classi e Moduli|Oggetti]]'' sono insomma quelle entità particolari, di cui si è parlato in principio, ma la ''[[Oggetti, Classi e Moduli|Classe]]'' sia concettualmente che informaticamente in POO viene prima dell'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt;: essa è il presupposto dell'esistenza dell'''[[Oggetti, Classi e Moduli|Oggetto]]'' (ossia della variabile del tipo di quella ''[[Oggetti, Classi e Moduli|Classe]]'').&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;Gli ''[[Oggetti, Classi e Moduli|Oggetti]]'' sono insomma quelle entità particolari, di cui si è parlato in principio, ma la ''[[Oggetti, Classi e Moduli|Classe]]'' sia concettualmente che informaticamente in POO viene prima dell'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt;: essa è il presupposto dell'esistenza dell'''[[Oggetti, Classi e Moduli|Oggetto]]'' (ossia della variabile del tipo di quella ''[[Oggetti, Classi e Moduli|Classe]]'').&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' è la &amp;quot;definizione&amp;quot; di una realtà, ed anzi una realtà che &amp;quot;definisce&amp;quot; e &amp;quot;raggruppa&amp;quot; delle caratteristiche specifiche (si pensi ad esempio alla ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;Button&amp;quot;); l'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt; è la realtà che il programmatore crea nel codice per utilizzare le risorse della ''[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Gli_Oggetti_e_le_Classi&lt;/del&gt;|Classe]]''. In tal senso la ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;raggruppa&amp;quot; anche gli eventuali ''[[Oggetti, Classi e Moduli|Oggetti]]'' che, creati, ad essa si riferiscono.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' è la &amp;quot;definizione&amp;quot; di una realtà, ed anzi una realtà che &amp;quot;definisce&amp;quot; e &amp;quot;raggruppa&amp;quot; delle caratteristiche specifiche (si pensi ad esempio alla ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;Button&amp;quot;); l'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt; è la realtà che il programmatore crea nel codice per utilizzare le risorse della ''[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Oggetti, Classi e Moduli&lt;/ins&gt;|Classe]]''. In tal senso la ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;raggruppa&amp;quot; anche gli eventuali ''[[Oggetti, Classi e Moduli|Oggetti]]'' che, creati, ad essa si riferiscono.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' pre-esiste all'Oggetto, essendo possibile avere comunque una ''[[Oggetti, Classi e Moduli|Classe]]'', ma è possibile evitare di creare l'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt; mediante &amp;quot;New&amp;quot;. Una ''[[Oggetti, Classi e Moduli|Classe]]'' può esistere pur non esistendo un suo ''[[Oggetti, Classi e Moduli|Oggetto]]'', un suo &amp;lt;U&amp;gt;esemplare&amp;lt;/u&amp;gt; concreto utilizzabile nel codice. Invece non esiste un ''[[Oggetti, Classi e Moduli|Oggetto]]'' che non si riferisca ad una qualche ''[[Oggetti, Classi e Moduli|Classe]]''. Infatti, quando esso viene creato, viene sempre riferito ad &amp;quot;una&amp;quot; specifica &amp;quot;''[[Oggetti, Classi e Moduli|Classe]]''&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' pre-esiste all'Oggetto, essendo possibile avere comunque una ''[[Oggetti, Classi e Moduli|Classe]]'', ma è possibile evitare di creare l'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt; mediante &amp;quot;New&amp;quot;. Una ''[[Oggetti, Classi e Moduli|Classe]]'' può esistere pur non esistendo un suo ''[[Oggetti, Classi e Moduli|Oggetto]]'', un suo &amp;lt;U&amp;gt;esemplare&amp;lt;/u&amp;gt; concreto utilizzabile nel codice. Invece non esiste un ''[[Oggetti, Classi e Moduli|Oggetto]]'' che non si riferisca ad una qualche ''[[Oggetti, Classi e Moduli|Classe]]''. Infatti, quando esso viene creato, viene sempre riferito ad &amp;quot;una&amp;quot; specifica &amp;quot;''[[Oggetti, Classi e Moduli|Classe]]''&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l122&quot;&gt;Riga 122:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 122:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[1] &amp;quot;Dichiarare&amp;quot; significa specificare il tipo di dati di una variabile.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[1] &amp;quot;Dichiarare&amp;quot; significa specificare il tipo di dati di una variabile.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[2] Da ciò possiamo dire che le &amp;quot;Variabili&amp;quot; ''locali'' sono sostanzialmente anche &amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;SPAN Style=&amp;quot;text-decoration:underline&amp;quot;&lt;/del&gt;&amp;gt;sempre&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;span&lt;/del&gt;&amp;gt; ''Private''.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[2] Da ciò possiamo dire che le &amp;quot;Variabili&amp;quot; ''locali'' sono sostanzialmente anche &amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;U&lt;/ins&gt;&amp;gt;sempre&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;u&lt;/ins&gt;&amp;gt; ''Private''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vuott</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42128&amp;oldid=prev</id>
		<title>Vuott il 14:59, 22 ago 2025</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42128&amp;oldid=prev"/>
		<updated>2025-08-22T14:59:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 08:59, 22 ago 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;Riga 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;Gli ''[[Oggetti, Classi e Moduli|Oggetti]]'' sono insomma quelle entità particolari, di cui si è parlato in principio, ma la ''[[Oggetti, Classi e Moduli|Classe]]'' sia concettualmente che informaticamente in POO viene prima dell'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt;: essa è il presupposto dell'esistenza dell'''[[Oggetti, Classi e Moduli|Oggetto]]'' (ossia della variabile del tipo di quella ''[[Oggetti, Classi e Moduli|Classe]]'').&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;Gli ''[[Oggetti, Classi e Moduli|Oggetti]]'' sono insomma quelle entità particolari, di cui si è parlato in principio, ma la ''[[Oggetti, Classi e Moduli|Classe]]'' sia concettualmente che informaticamente in POO viene prima dell'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt;: essa è il presupposto dell'esistenza dell'''[[Oggetti, Classi e Moduli|Oggetto]]'' (ossia della variabile del tipo di quella ''[[Oggetti, Classi e Moduli|Classe]]'').&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' è la &amp;quot;definizione&amp;quot; di una realtà, ed anzi una realtà che &amp;quot;definisce&amp;quot; e &amp;quot;raggruppa&amp;quot; delle caratteristiche specifiche (si pensi ad esempio alla ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;Button&amp;quot;); l'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt; è la realtà che il programmatore crea nel codice per utilizzare le risorse della ''[[Gli_Oggetti_e_le_Classi|Classe]]''. In tal senso la ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;raggruppa&amp;quot; anche gli eventuali ''[[Oggetti, Classi e Moduli|Oggetti]]'' che, creati, ad essa si riferiscono.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' è la &amp;quot;definizione&amp;quot; di una realtà, ed anzi una realtà che &amp;quot;definisce&amp;quot; e &amp;quot;raggruppa&amp;quot; delle caratteristiche specifiche (si pensi ad esempio alla ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;Button&amp;quot;); l'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt; è la realtà che il programmatore crea nel codice per utilizzare le risorse della ''[[Gli_Oggetti_e_le_Classi|Classe]]''. In tal senso la ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;raggruppa&amp;quot; anche gli eventuali ''[[Oggetti, Classi e Moduli|Oggetti]]'' che, creati, ad essa si riferiscono.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' pre-esiste all'Oggetto, essendo possibile avere comunque una ''[[Oggetti, Classi e Moduli|Classe]]'', ma è possibile evitare di creare l'&amp;lt;I&amp;gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Gli_Oggetti_e_le_Classi&lt;/del&gt;|Oggetto]]&amp;lt;/i&amp;gt; mediante &amp;quot;New&amp;quot;. Una ''[[Oggetti, Classi e Moduli|Classe]]'' può esistere pur non esistendo un suo ''[[Oggetti, Classi e Moduli|Oggetto]]'', un suo &amp;lt;U&amp;gt;esemplare&amp;lt;/u&amp;gt; concreto utilizzabile nel codice. Invece non esiste un ''[[Oggetti, Classi e Moduli|Oggetto]]'' che non si riferisca ad una qualche ''[[Oggetti, Classi e Moduli|Classe]]''. Infatti, quando esso viene creato, viene sempre riferito ad &amp;quot;una&amp;quot; specifica &amp;quot;''[[Oggetti, Classi e Moduli|Classe]]''&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' pre-esiste all'Oggetto, essendo possibile avere comunque una ''[[Oggetti, Classi e Moduli|Classe]]'', ma è possibile evitare di creare l'&amp;lt;I&amp;gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Oggetti, Classi e Moduli&lt;/ins&gt;|Oggetto]]&amp;lt;/i&amp;gt; mediante &amp;quot;New&amp;quot;. Una ''[[Oggetti, Classi e Moduli|Classe]]'' può esistere pur non esistendo un suo ''[[Oggetti, Classi e Moduli|Oggetto]]'', un suo &amp;lt;U&amp;gt;esemplare&amp;lt;/u&amp;gt; concreto utilizzabile nel codice. Invece non esiste un ''[[Oggetti, Classi e Moduli|Oggetto]]'' che non si riferisca ad una qualche ''[[Oggetti, Classi e Moduli|Classe]]''. Infatti, quando esso viene creato, viene sempre riferito ad &amp;quot;una&amp;quot; specifica &amp;quot;''[[Oggetti, Classi e Moduli|Classe]]''&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La conoscenza delle caratteristiche specifiche di una ''[[Oggetti, Classi e Moduli|Classe]]'' consente di conoscere le proprietà e le funzionalità, ossia le risorse, di ogni ''[[Oggetti, Classi e Moduli|Oggetto]]'' appartenente a quella determinata ''[[Oggetti, Classi e Moduli|Classe]]''.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La conoscenza delle caratteristiche specifiche di una ''[[Oggetti, Classi e Moduli|Classe]]'' consente di conoscere le proprietà e le funzionalità, ossia le risorse, di ogni ''[[Oggetti, Classi e Moduli|Oggetto]]'' appartenente a quella determinata ''[[Oggetti, Classi e Moduli|Classe]]''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vuott</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42118&amp;oldid=prev</id>
		<title>Vuott il 14:07, 22 ago 2025</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42118&amp;oldid=prev"/>
		<updated>2025-08-22T14:07:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 08:07, 22 ago 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Riga 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La &amp;quot;Programmazione Orientata agli Oggetti&amp;quot; (POO) presuppone nello sviluppo e nell'esecuzione dei programmi una dialettica di entità che esprimono loro peculiari proprietà e funzionalità tese al raggiungimento di un concreto risultato, utile nell'economia più ampia del programma realizzato.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La &amp;quot;Programmazione Orientata agli Oggetti&amp;quot; (POO) presuppone nello sviluppo e nell'esecuzione dei programmi una dialettica di entità che esprimono loro peculiari proprietà e funzionalità tese al raggiungimento di un concreto risultato, utile nell'economia più ampia del programma realizzato.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nella POO la pluralità di risorse utili per il raggiungimento di un determinato risultato funzionale al programma è un servizio complessivo offerto da una specifica entità. Tutti gli attributi e funzioni di tale entità di programmazione rappresenta il servizio, che tale entità può offrire al programmatore, ed è finalizzata allo sviluppo ed al raggiungimento di specifici scopi.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;BR&amp;gt;&lt;/ins&gt;Nella POO la pluralità di risorse utili per il raggiungimento di un determinato risultato funzionale al programma è un servizio complessivo offerto da una specifica entità. Tutti gli attributi e funzioni di tale entità di programmazione rappresenta il servizio, che tale entità può offrire al programmatore, ed è finalizzata allo sviluppo ed al raggiungimento di specifici scopi.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;L'allocazione di memoria diviene pertanto funzionale al raggiungimento di questo servizio.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;BR&amp;gt;&lt;/ins&gt;L'allocazione di memoria diviene pertanto funzionale al raggiungimento di questo servizio.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vuott</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42117&amp;oldid=prev</id>
		<title>Vuott il 14:04, 22 ago 2025</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42117&amp;oldid=prev"/>
		<updated>2025-08-22T14:04:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 08:04, 22 ago 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l76&quot;&gt;Riga 76:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 76:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Persistenza=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Persistenza &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;di una Classe e di un Oggetto&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Persistenza di una Classe e persistenza di un &amp;lt;U&amp;gt;simbolo&amp;lt;/u&amp;gt; di un Oggetto verso altri Oggetti dichiarati della medesima Classe: &amp;quot;Statico&amp;quot; e &amp;quot;Dinamico&amp;quot;=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Persistenza di una Classe e persistenza di un &amp;lt;U&amp;gt;simbolo&amp;lt;/u&amp;gt; di un Oggetto verso altri Oggetti dichiarati della medesima Classe: &amp;quot;Statico&amp;quot; e &amp;quot;Dinamico&amp;quot;=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Come è noto, una variabile (che qui, per comodità, chiameremo &amp;quot;var&amp;quot;) posta in una Classe può essere &amp;quot;vista&amp;quot;, ossia letta e modificata, da un'altra Classe, solo se tale variabile &amp;quot;var&amp;quot; è impostata come &amp;quot;Globale&amp;quot; e pubblica mediante la parola-chiave &amp;quot;Public&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Come è noto, una variabile (che qui, per comodità, chiameremo &amp;quot;var&amp;quot;) posta in una Classe può essere &amp;quot;vista&amp;quot;, ossia letta e modificata, da un'altra Classe, solo se tale variabile &amp;quot;var&amp;quot; è impostata come &amp;quot;Globale&amp;quot; e pubblica mediante la parola-chiave &amp;quot;Public&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;Ovviamente il valore di questa variabile &amp;quot;var&amp;quot;, pur essendo &amp;quot;Globale&amp;quot; e &amp;quot;Pubblica&amp;quot;, non persiste, non si conserva nella omonima variabile di eventuali altri Oggetti dichiarati della medesima Classe di appartenenza della variabile &amp;quot;var&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;Ovviamente il valore di questa variabile &amp;quot;var&amp;quot;, pur essendo &amp;quot;Globale&amp;quot; e &amp;quot;Pubblica&amp;quot;, non persiste, non si conserva nella omonima variabile di eventuali altri Oggetti dichiarati della medesima Classe di appartenenza della variabile &amp;quot;var&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vuott</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42116&amp;oldid=prev</id>
		<title>Vuott il 14:03, 22 ago 2025</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42116&amp;oldid=prev"/>
		<updated>2025-08-22T14:03:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;it&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Versione meno recente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versione delle 08:03, 22 ago 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l55&quot;&gt;Riga 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Riga 55:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;In termini di allocazione della memroria si ha una variabile &amp;quot;Locale&amp;quot;, quando detta area di memoria resta riservata dal sistema in favore del programma  dal punto di dichiarazione nella routine sino all'uscita dalla routine medesima.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;In termini di allocazione della memroria si ha una variabile &amp;quot;Locale&amp;quot;, quando detta area di memoria resta riservata dal sistema in favore del programma  dal punto di dichiarazione nella routine sino all'uscita dalla routine medesima.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Visibilità verso altre Classi: &amp;quot;Pubblico&amp;quot; e &amp;quot;Privato&amp;quot;=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Visibilità verso altre Classi: &amp;quot;Pubblico&amp;quot; e &amp;quot;Privato&amp;quot;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La &amp;quot;''Pubblicità'' &amp;quot; di una Variabile o di una Costante è l'attitudine a essere &amp;quot;vista&amp;quot;  (ossia ad essere invocata ed utilizzata) &amp;lt;U&amp;gt;anche nelle altre ''Classi'' o ''Moduli''&amp;lt;/u&amp;gt; creati.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La &amp;quot;''Pubblicità'' &amp;quot; di una Variabile o di una Costante è l'attitudine a essere &amp;quot;vista&amp;quot;  (ossia ad essere invocata ed utilizzata) &amp;lt;U&amp;gt;anche nelle altre ''Classi'' o ''Moduli''&amp;lt;/u&amp;gt; creati.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;Pertanto, se in un progetto sussistono più ''Classi'' e/o più ''Moduli'', una Variabile o una Costante, se è dichiarata ''Pubblica'' in una ''Classe'' o in un ''Modulo'', potrà essere letta e le si potranno assegnare valori anche dalle altre ''Classi'' o ''Moduli''.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;BR&amp;gt;Pertanto, se in un progetto sussistono più ''Classi'' e/o più ''Moduli'', una Variabile o una Costante, se è dichiarata ''Pubblica'' in una ''Classe'' o in un ''Modulo'', potrà essere letta e le si potranno assegnare valori anche dalle altre ''Classi'' o ''Moduli''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vuott</name></author>
	</entry>
	<entry>
		<id>https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42115&amp;oldid=prev</id>
		<title>Vuott: Creata pagina con &quot;L'intero codice, pensato e redatto dal programmatore, è finalizzato ad un concreto risultato: è scritto per fare ed ottenere qualcosa. &lt;BR&gt;Le funzioni, espresse dai comandi,...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.gambas-it.org/wiki/index.php?title=Lezioni:_programmazione_Orientata_agli_Oggetti&amp;diff=42115&amp;oldid=prev"/>
		<updated>2025-08-22T14:02:40Z</updated>

		<summary type="html">&lt;p&gt;Creata pagina con &amp;quot;L&amp;#039;intero codice, pensato e redatto dal programmatore, è finalizzato ad un concreto risultato: è scritto per fare ed ottenere qualcosa. &amp;lt;BR&amp;gt;Le funzioni, espresse dai comandi,...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;L'intero codice, pensato e redatto dal programmatore, è finalizzato ad un concreto risultato: è scritto per fare ed ottenere qualcosa.&lt;br /&gt;
&amp;lt;BR&amp;gt;Le funzioni, espresse dai comandi, operano su dati matematicamente rilevanti, appositamente memorizzati anche ai fini di un loro uso temporalmente differenziato.&lt;br /&gt;
&lt;br /&gt;
===Scopo ultimo e scopi intermedi di un programma===&lt;br /&gt;
Non esiste soltanto lo scopo del programma, ciò per cui fu pensato e scritto, ma anche quello delle singole parti del codice: alcune sue parti infatti tendono necessariamente a specifici e limitati scopi, funzioni che, coordinate e gestite in una visione e logica più ampia (quella appunto dell'intero programma), realizzano il fine ultimo per il quale il programma fu pensato e scritto.&lt;br /&gt;
Lo svolgimento del programma ed il conseguente perseguimento del fine o dei fini ultimi previsti sono conseguiti attraverso l'adozione di risorse fra loro logicamente e funzionalmente coerenti e connesse.&lt;br /&gt;
&amp;lt;BR&amp;gt;Nella stesura e nell'esecuzione del programma subentrano una serie di risorse, costituite da dati che rappresentano la materia manipolata dalle funzioni, e sulla quale queste si cimentano esplicando le loro capacità.&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;Programmazione Orientata agli Oggetti&amp;quot; (POO) presuppone nello sviluppo e nell'esecuzione dei programmi una dialettica di entità che esprimono loro peculiari proprietà e funzionalità tese al raggiungimento di un concreto risultato, utile nell'economia più ampia del programma realizzato. &lt;br /&gt;
Nella POO la pluralità di risorse utili per il raggiungimento di un determinato risultato funzionale al programma è un servizio complessivo offerto da una specifica entità. Tutti gli attributi e funzioni di tale entità di programmazione rappresenta il servizio, che tale entità può offrire al programmatore, ed è finalizzata allo sviluppo ed al raggiungimento di specifici scopi. &lt;br /&gt;
L'allocazione di memoria diviene pertanto funzionale al raggiungimento di questo servizio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=La Classe e gli Oggetti=&lt;br /&gt;
L'entità informatica che assume in sé determinate risorse, funzionali ed utili al raggiungimento di uno scopo nel codice del programma, è una definizione generale di tali proprietà e funzioni. Essa è innanzitutto un corpus unico formato da attributi e funzionalità specifiche e coerenti potenzialmente attivabili e fruibili.&lt;br /&gt;
&amp;lt;BR&amp;gt;Essa non può essere direttamente invocata nel codice del programma per attuare ed utilizzare le sue risorse: v'è bisogno di porre in essere proprie istanze specifiche.&lt;br /&gt;
&amp;lt;BR&amp;gt;Le caratteristiche definite e dichiarate da un'istanza astratta possono essere comuni a più entità concrete, che condividono pertanto quelle risorse, ed escludono altre che o non posseggono quelle caratteristiche o le posseggono solo in parte.&lt;br /&gt;
&amp;lt;BR&amp;gt;Poiché le istanze specifiche, accomunate dal possesso di medesime risorse, si riconoscono quali parti di una determinata entità astratta, esse sono elementi individuali di un Insieme che le raccoglie logicamente. Tale Insieme rappresenta una '''''[[Oggetti, Classi e Moduli|Classe]]''''' di una o più istanze particolari che, possedendo tutte le risorse tipiche di quella ''[[Oggetti, Classi e Moduli|Classe]]'', consentono alla ''[[Oggetti, Classi e Moduli|Classe]]'' medesima di attuare le sue potenzialità ed al programmatore di utilizzare proficuamente quelle risorse dichiarate solo in astratto dalla ''[[Oggetti, Classi e Moduli|Classe]]''.&lt;br /&gt;
&lt;br /&gt;
La ''[[Oggetti, Classi e Moduli|Classe]]'' è dunque un'entità che si pone in una dimensione universale. E', come già detto, un Insieme che raccoglie e dà significato ad entità particolari, contingenti ad essa sottoposte e riferentesi: gli '''''[[Oggetti, Classi e Moduli|Oggetti]]'''''.&lt;br /&gt;
&amp;lt;BR&amp;gt;Gli ''[[Oggetti, Classi e Moduli|Oggetti]]'' sono insomma quelle entità particolari, di cui si è parlato in principio, ma la ''[[Oggetti, Classi e Moduli|Classe]]'' sia concettualmente che informaticamente in POO viene prima dell'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt;: essa è il presupposto dell'esistenza dell'''[[Oggetti, Classi e Moduli|Oggetto]]'' (ossia della variabile del tipo di quella ''[[Oggetti, Classi e Moduli|Classe]]'').&lt;br /&gt;
&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' è la &amp;quot;definizione&amp;quot; di una realtà, ed anzi una realtà che &amp;quot;definisce&amp;quot; e &amp;quot;raggruppa&amp;quot; delle caratteristiche specifiche (si pensi ad esempio alla ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;Button&amp;quot;); l'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt; è la realtà che il programmatore crea nel codice per utilizzare le risorse della ''[[Gli_Oggetti_e_le_Classi|Classe]]''. In tal senso la ''[[Oggetti, Classi e Moduli|Classe]]'' &amp;quot;raggruppa&amp;quot; anche gli eventuali ''[[Oggetti, Classi e Moduli|Oggetti]]'' che, creati, ad essa si riferiscono.&lt;br /&gt;
&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'' pre-esiste all'Oggetto, essendo possibile avere comunque una ''[[Oggetti, Classi e Moduli|Classe]]'', ma è possibile evitare di creare l'&amp;lt;I&amp;gt;[[Gli_Oggetti_e_le_Classi|Oggetto]]&amp;lt;/i&amp;gt; mediante &amp;quot;New&amp;quot;. Una ''[[Oggetti, Classi e Moduli|Classe]]'' può esistere pur non esistendo un suo ''[[Oggetti, Classi e Moduli|Oggetto]]'', un suo &amp;lt;U&amp;gt;esemplare&amp;lt;/u&amp;gt; concreto utilizzabile nel codice. Invece non esiste un ''[[Oggetti, Classi e Moduli|Oggetto]]'' che non si riferisca ad una qualche ''[[Oggetti, Classi e Moduli|Classe]]''. Infatti, quando esso viene creato, viene sempre riferito ad &amp;quot;una&amp;quot; specifica &amp;quot;''[[Oggetti, Classi e Moduli|Classe]]''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La conoscenza delle caratteristiche specifiche di una ''[[Oggetti, Classi e Moduli|Classe]]'' consente di conoscere le proprietà e le funzionalità, ossia le risorse, di ogni ''[[Oggetti, Classi e Moduli|Oggetto]]'' appartenente a quella determinata ''[[Oggetti, Classi e Moduli|Classe]]''.&lt;br /&gt;
&lt;br /&gt;
Gli ''[[Oggetti, Classi e Moduli|Oggetti]]'' sono entità, elementi della POO che si riferiscono e rimandano ad una realtà astratta, paradigmatica, ad un modello di proprietà e funzionalità.&lt;br /&gt;
&amp;lt;BR&amp;gt;Gli ''[[Oggetti, Classi e Moduli|Oggetti]]'' sono realtà creabili e distruttibili, e per questo contingenti, che permettono l'effettivo e concreto utilizzo all'interno del codice di un programma delle caratteristiche, degli attributi e delle funzionalità di una ''[[Oggetti, Classi e Moduli|Classe]]''. Mentre la ''[[Oggetti, Classi e Moduli|Classe]]'' esprime come mera possibilità alcune capacità e/o attributi, gli ''[[Oggetti, Classi e Moduli|Oggetti]]'' di tali ''[[Oggetti, Classi e Moduli|Classi]]'' mettono in atto, fattivamente, le capacità delle ''[[Oggetti, Classi e Moduli|Classi]]''. Se la ''[[Oggetti, Classi e Moduli|Classe]]'' è un'entità che esprime &amp;quot;in potenza&amp;quot; le sue funzionalità e proprietà che dichiara, gli ''[[Oggetti, Classi e Moduli|Oggetti]]'' rappresentano &amp;quot;in atto&amp;quot; tali caratteristiche. La ''[[Oggetti, Classi e Moduli|Classe]]'' dichiara in astratto ciò che l'''[[Oggetti, Classi e Moduli|Oggetto]]'' pone in atto ed esprime in concreto nel codice del programma.&lt;br /&gt;
&amp;lt;BR&amp;gt;Una ''Classe'' in quanto Modello non esiste nel/sul mondo, ossia concretamente, è semplicemente un predicato astratto. Se la ''Classe'' si fa concreta, si in-stanzia, ossia si in-pone nella realtà concreta del programma, diventa gestibile in modo effettivo, virtualmente tangibile: diventa un ''Oggetto''. L'&amp;lt;I&amp;gt;Oggetto&amp;lt;/i&amp;gt; si pone, sta nel mondo del programma informatico con una sua individualità definita e condizionata da funzionalità e caratteristiche che rimandano necessariamente alla sua ''Classe'' di appartenenza.&lt;br /&gt;
&amp;lt;BR&amp;gt;Un ''[[Oggetti, Classi e Moduli|Oggetto]]'' è in vero un'allocazione di memoria necessaria a far &amp;quot;esistere&amp;quot; l'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt; creato (che coincide con la variabile stessa). In particolare verrà allocata ed occupata la necessaria memoria per la ''[[Oggetti, Classi e Moduli|Classe]]'', e per l'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt;, nonché per le eventuali assegnazioni alle proprietà di quell'&amp;lt;I&amp;gt;[[Oggetti, Classi e Moduli|Oggetto]]&amp;lt;/i&amp;gt;.&lt;br /&gt;
&amp;lt;BR&amp;gt;Tali istanze concrete di una Classe, gli ''[[Oggetti, Classi e Moduli|Oggetti]]'', singolarità di una ''Classe'', essendo previste per l'occasione in un determinato contesto di codice, per esistere devono, come ogni entità concreta immanente, essere specificamente create; e in particolare gli ''Oggetti'' devono essere creati all'interno del codice mediante la parola-chiave &amp;quot;New&amp;quot;, e possono essere distrutte durante il programma con il Metodo &amp;quot;.Delete&amp;quot; o al termine della loro visibilità.&lt;br /&gt;
&amp;lt;BR&amp;gt;La ''[[Oggetti, Classi e Moduli|Classe]]'', invece, non è creabile mediante la parola-chiave &amp;quot;New&amp;quot;; essa può essere creata nativamente in Gambas oppure ''ad hoc'' dal programmatore in fase progettuale.&lt;br /&gt;
&lt;br /&gt;
La ''[[Oggetti, Classi e Moduli|Classe]]'', nonostante sia un'entità che semplicemente dichiara alcune funzionalità e proprietà (che potranno essere effettivamente utilizzate nel codice mediante i suoi ''[[Oggetti, Classi e Moduli|Oggetti]]''), non è una entità assolutamente inconsistente. Essa, affinché possa esistere, occupa comunque in concreto una certa quantità di memoria. Pertanto, con la creazione di una ''[[Oggetti, Classi e Moduli|Classe]]'' e successivamente del suo correlato ''[[Oggetti, Classi e Moduli|Oggetto]]'', viene occupata una certa quantità di memoria sia per l'esistenza della ''[[Oggetti, Classi e Moduli|Classe]]'', sia per l'esistenza dell'''[[Oggetti, Classi e Moduli|Oggetto]]'', nonché per la eventuale memorizzazione dei valori assegnati a sue specifiche proprietà.&lt;br /&gt;
&lt;br /&gt;
==Il Modulo==&lt;br /&gt;
Il ''Modulo'' è una sorta di ''Classe'' che può essere fornita di ''Proprietà'' e di ''Metodi'', ma è incapace di sollevare &amp;lt;U&amp;gt;propri&amp;lt;/u&amp;gt; Eventi mediante la parola-chiave ''[[Gli Eventi|Event]]'', poiché la risorsa dell'Evento non gli appartiene. Ciò però non impedisce che al suo interno possano essere sollevati Eventi appartenenti a delle specifiche ''Classi''.&lt;br /&gt;
&amp;lt;BR&amp;gt;Il ''Modulo'' viene altresì definito come ''Classe'' statica, potendosi creare regolarmente Istanze individuali, singoli ''Oggetti'' di un ''Modulo'' mediante la parola-chiave &amp;quot;New&amp;quot;; ma i Simboli delle Istanze di un ''Modulo'' non sono suscettibili di diretta lettura né di assegnazione diretta di valori, restando questa caratteristica una prerogativa del ''Modulo'', del quale quegli ''Oggetti'' sono ''Istanze''.&lt;br /&gt;
Da ciò si deduce che la creazione di Istanze individuali di un ''Modulo'' non possiede alcuna utilità pratica.&lt;br /&gt;
&amp;lt;BR&amp;gt;La ''Staticità'' del ''Modulo'' si afferma più in relazione alle sue ipotetiche Istanze individuali (che - come ormai si sa - risultano essere inutili), che alla presunta capacità di conservare i valori precedentemente assegnati. Anzi, con riferimento a tale capacità si può anche aggiungere che la ''Staticità'' di un Simbolo di un ''Modulo'' sussiste solo qualora la sua ''Visibilità'' sia ''Pubblica''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Visibilità delle Variabili=&lt;br /&gt;
==Visibilità all'interno della Classe e del Modulo: &amp;quot;Globale&amp;quot; e &amp;quot;Locale&amp;quot;==&lt;br /&gt;
La &amp;quot;''Globalità'' &amp;quot; attiene all'attitudine, alla capacità di una variabile di essere vista (''scope'') &amp;lt;U&amp;gt;all'interno di una ''Classe'' o di un ''Modulo''&amp;lt;/u&amp;gt; creati, automaticamente o arbitrariamente.&lt;br /&gt;
&amp;lt;BR&amp;gt;In termini di allocazione della memoria si ha una variabile &amp;quot;Globale&amp;quot;, quando detta area di memoria resta riservata dal sistema in favore del programma  sino alla chiusura del programma medesimo.&lt;br /&gt;
&amp;lt;BR&amp;gt;Pertanto, una Variabile &amp;quot;Globale&amp;quot; sarà visibile (ossia potrà essere invocata ed utilizzata) in un qualunque parte della ''Classe'' o del ''Modulo'' ove essa è stata &amp;quot;dichiarata&amp;quot; &amp;lt;SUP&amp;gt;&amp;amp;#091;[[#Note|nota 1]]&amp;amp;#093;&amp;lt;/sup&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
Se invece una variabile è &amp;quot;'''Locale'''&amp;quot;, essa non è ''visibile'' all'interno di una ''Classe'' o di un ''Modulo''. Più precisamente essa non può essere utilizzata al di fuori della routine ove è stata dichiarata.&lt;br /&gt;
&amp;lt;BR&amp;gt;I casi espliciti di variabili ''locali'' sono le variabili dichiarate all'interno di una sub-routine:&lt;br /&gt;
 Dim '''vr''' As Integer&lt;br /&gt;
o dei parametri formali di una ''funzione'' o di una ''Procedura'' chiamata:&lt;br /&gt;
 Function Nome_Funzione('''vr''' As Integer)&lt;br /&gt;
Come già detto, in questi casi le variabili, essendo ''locali'', non sono leggibili né scrivibili (non le si può assegnare valori) nelle altre routine. &amp;lt;BR&amp;gt;Insomma, le variabili ''locali'' non possono essere richiamate nelle routine diverse da quelle ove furono dichiarate. Si dice che la ''vita'' di una variabile ''locale'' inizia e finisce nel solo ambito della routine ove sia stata dichiarata: essa può essere utilizzata esclusivamente in tale ambito.&lt;br /&gt;
&amp;lt;BR&amp;gt;In termini di allocazione della memroria si ha una variabile &amp;quot;Locale&amp;quot;, quando detta area di memoria resta riservata dal sistema in favore del programma  dal punto di dichiarazione nella routine sino all'uscita dalla routine medesima.&lt;br /&gt;
&lt;br /&gt;
==Visibilità verso altre Classi: &amp;quot;Pubblico&amp;quot; e &amp;quot;Privato&amp;quot;=&lt;br /&gt;
La &amp;quot;''Pubblicità'' &amp;quot; di una Variabile o di una Costante è l'attitudine a essere &amp;quot;vista&amp;quot;  (ossia ad essere invocata ed utilizzata) &amp;lt;U&amp;gt;anche nelle altre ''Classi'' o ''Moduli''&amp;lt;/u&amp;gt; creati.&lt;br /&gt;
&amp;lt;BR&amp;gt;Pertanto, se in un progetto sussistono più ''Classi'' e/o più ''Moduli'', una Variabile o una Costante, se è dichiarata ''Pubblica'' in una ''Classe'' o in un ''Modulo'', potrà essere letta e le si potranno assegnare valori anche dalle altre ''Classi'' o ''Moduli''.&lt;br /&gt;
&amp;lt;BR&amp;gt;Va da sé che, invece, una Variabile o una Costante dichiarata come ''Privata'' non può essere richiamata da altre ''Classi'' o ''Moduli'' esistenti.&lt;br /&gt;
&lt;br /&gt;
Come sappiamo, in Gambas per dichiarare una ''Variabile'' o una ''Costante'', quale ''Pubblica'' o ''Private'', vanno utilizzate le parole-chiave &amp;quot;''Public''&amp;quot; e &amp;quot;''Private''&amp;quot; poste all'inizio del codice e all'esterno delle routine &amp;lt;SUP&amp;gt;&amp;amp;#091;[[#Note|nota 2]]&amp;amp;#093;&amp;lt;/sup&amp;gt;:&lt;br /&gt;
 '''Private''' varpr As Integer&lt;br /&gt;
 &lt;br /&gt;
 '''Public''' varpu As Integer&lt;br /&gt;
 &lt;br /&gt;
 '''Private''' Const COSPR As Integer = 1000&lt;br /&gt;
 &lt;br /&gt;
 '''Public''' Const COSPU As Integer = 12345&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Public Sub Main()&lt;br /&gt;
 &lt;br /&gt;
 .......&lt;br /&gt;
Da quanto detto deriva che ogni ''Variabile'' e ogni ''Costante'' &amp;lt;U&amp;gt;espressamente&amp;lt;/u&amp;gt; dichiarata ''Pubblica'' o ''Privata'' è &amp;lt;U&amp;gt;sempre&amp;lt;/u&amp;gt; ''Globale''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Persistenza=&lt;br /&gt;
==Persistenza di una Classe e persistenza di un &amp;lt;U&amp;gt;simbolo&amp;lt;/u&amp;gt; di un Oggetto verso altri Oggetti dichiarati della medesima Classe: &amp;quot;Statico&amp;quot; e &amp;quot;Dinamico&amp;quot;=0&lt;br /&gt;
Come è noto, una variabile (che qui, per comodità, chiameremo &amp;quot;var&amp;quot;) posta in una Classe può essere &amp;quot;vista&amp;quot;, ossia letta e modificata, da un'altra Classe, solo se tale variabile &amp;quot;var&amp;quot; è impostata come &amp;quot;Globale&amp;quot; e pubblica mediante la parola-chiave &amp;quot;Public&amp;quot;.&lt;br /&gt;
&amp;lt;BR&amp;gt;Ovviamente il valore di questa variabile &amp;quot;var&amp;quot;, pur essendo &amp;quot;Globale&amp;quot; e &amp;quot;Pubblica&amp;quot;, non persiste, non si conserva nella omonima variabile di eventuali altri Oggetti dichiarati della medesima Classe di appartenenza della variabile &amp;quot;var&amp;quot;.&lt;br /&gt;
&amp;lt;BR&amp;gt;Affinché il valore della variabile &amp;quot;var&amp;quot; si conservi, persista (come se si trasferisse, si attribuisse) nelle variabili degli eventuali altri Oggetti, appartenenti alla medesima Classe alla quale appartiene la variabile &amp;quot;var&amp;quot;, è necessario che tale variabile &amp;quot;var&amp;quot; sia dichiarata come ''statica'' mediante la parola-chiave &amp;quot;Static&amp;quot;. La parola-chiave &amp;quot;Static&amp;quot; fa sì che il valore di una variabile di una Classe, attribuito con la chiamata da parte di un Oggetto appartenente a quella Classe, sia riscontrabile anche nella omonima variabile chiamata da eventuali altri Oggetti appartenenti alla quella medesima Classe.&lt;br /&gt;
&lt;br /&gt;
Vediamo un esempio, nel quale abbiamo la seguente ''Classe'' principale:&lt;br /&gt;
 Public Sub Form_Open()&lt;br /&gt;
  &lt;br /&gt;
   Dim cl1, cl2, cl3 As New Class1&lt;br /&gt;
   &lt;br /&gt;
   cl1.Prova()&lt;br /&gt;
   Print cl1.Ritorna(), cl1.n&lt;br /&gt;
    &lt;br /&gt;
   Print cl2.Ritorna(), cl2.n&lt;br /&gt;
   &lt;br /&gt;
   Print cl3.Ritorna(), cl3.n&lt;br /&gt;
   &lt;br /&gt;
 End&lt;br /&gt;
e una ''Classe'' secondaria, chiamata &amp;quot;''Class1''&amp;quot;:&lt;br /&gt;
 &amp;lt;FONT Color=red&amp;gt;&amp;lt;B&amp;gt;Static&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; Private i As Integer&lt;br /&gt;
 Public n As Integer&lt;br /&gt;
 &lt;br /&gt;
 Public Procedure Prova()&lt;br /&gt;
  &lt;br /&gt;
   i = 99&lt;br /&gt;
   n = 100&lt;br /&gt;
  &lt;br /&gt;
 End&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Public Function Ritorna() As Integer&lt;br /&gt;
  &lt;br /&gt;
   Return i&lt;br /&gt;
  &lt;br /&gt;
 End&lt;br /&gt;
Come si può notare, la variabile &amp;quot;n&amp;quot; (appartenente alla variabile &amp;quot;cl1&amp;quot; dichiarata come ''Oggetto'' della ''Classe'' secondaria &amp;quot;Class1.class&amp;quot;), nonostante sia ''globale'' e ''pubblica'', è visibile soltanto se essa viene richiamata dalla ''Classe'' principale (in questo caso FMain.class) '''dopo''' essere stata opportunamente valorizzata attraverso la chiamata dell'Oggetto &amp;quot;cl1&amp;quot;, al quale essa appartiene. Nel caso in cui la variabile &amp;quot;n&amp;quot; (appartenente  alle variabili &amp;quot;cl2&amp;quot; e cl3&amp;quot;), non essendo stata opportunamente valorizzata, viene richiamata dalla ''Classe'' principale, essa restituisce il valore 0.&lt;br /&gt;
&amp;lt;BR&amp;gt;Diversamente la variabile &amp;quot;i&amp;quot; viene valorizzata con la chiamata dell'Oggetto &amp;quot;cl1&amp;quot;, ed essendo stata dichiarata anche ''statica'', conserva il suo valore, &amp;lt;U&amp;gt;nonostante sia &amp;quot;''privata''&amp;quot;&amp;lt;/u&amp;gt;, anche quando saranno chiamate le omonime variabili &amp;quot;i&amp;quot; dagli Oggetti &amp;quot;cl2&amp;quot; e cl3&amp;quot; (che sono dichiarati comunque della medesima ''Classe'' alla quale appartiene l'Oggetto &amp;quot;cl1&amp;quot;.&lt;br /&gt;
&amp;lt;BR&amp;gt;Pertanto la parola-chiave &amp;quot;Static&amp;quot; consente di conservare il &amp;lt;U&amp;gt;valore&amp;lt;/u&amp;gt; di una variabile di Oggetto anche nelle ''omonime'' variabili di altri Oggetti dichiarati della medesima ''Classe'', della quale la variabile - dichiarata ''statica'' - è un simbolo.&lt;br /&gt;
&amp;lt;BR&amp;gt;Come si può notare infatti nel precedente esempio, il valore della variabile ''statica'' &amp;quot;i&amp;quot; resta conservato nella variabile &amp;quot;i&amp;quot; chiamata dagli Oggetti &amp;quot;cl2&amp;quot; e &amp;quot;cl3&amp;quot; senza che sia necessario richiamare per questi Oggetti la rispettiva Procedura &amp;quot;Prova()&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Note=&lt;br /&gt;
[1] &amp;quot;Dichiarare&amp;quot; significa specificare il tipo di dati di una variabile.&lt;br /&gt;
&lt;br /&gt;
[2] Da ciò possiamo dire che le &amp;quot;Variabili&amp;quot; ''locali'' sono sostanzialmente anche &amp;lt;SPAN Style=&amp;quot;text-decoration:underline&amp;quot;&amp;gt;sempre&amp;lt;/span&amp;gt; ''Private''.&lt;/div&gt;</summary>
		<author><name>Vuott</name></author>
	</entry>
</feed>