accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

C# static approfondimento

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  it.comp.programmare ] 

Retour : Accueil du site it comp programmare  


  Sujet:   C# static approfondimento  
 De: ...@f22.it (f22)
 Groupes: it.comp.programmare
 Organisation: [Infostrada]
 Date: 25. Jun 2008, 08:22:14
Ciao


PREMESSA

da qualche giorno sto' leggendo un libro sul C#, sono arrivato alla OOP, 
ed ho letto fra le tante cose, che un metodo o un campo di classe puo' 
dichiarato 'static', ed essere utilizzato senza istanziare un nuovo 
oggetto per la classe, e che inoltre un metodo static non puo' 
richiamare metodi non static o campi non static proprio perche' essi non 
esistono fino alla creazione di un oggetto.

Inoltre un campo static mantiene in memoria il proprio valore e le 
modifiche ad esso apportate non solo durante la vita del singolo oggetto 
ma ad esso fanno riferimento tutti gli oggetti dello stesso tipo che 
vengono successivamente creati.

quindi

class MiaClasse()
{
	publis static int i = 0;

	public MiaClasse()
	{
		this.i++;
	}	

}

MiaClasse oggetto1 = new MiaClasse();
consolle.write("oggetto1.i vale {0}",oggetto1.i); <-- vale 1
MiaClasse oggetto2 = new MiaClasse();
consolle.write("oggetto1.i vale {0}",oggetto1.i); <-- vale 2

DOMANDA

1 -perche' apporre static al metodo Main()?

Forse perche' va reso disponibile senza appunto istanziare nessun oggetto?

2- nel libro in diversi esempi l'autore utilizza l'applicazione 
consolle, e per tutti i metodi utilizza sempre la parola chiave 
'static', esempio


#region Using directives

using System;
using System.Collections.Generic;
using System.Text;

#endregion

namespace Classes
{
     class Program
     {
         static void Entrance()
         {
             //qui' si riferisce ad una classe
             //dichiarata in un file separato

             Point origin = new Point();
             Point bottomRight = new Point(1024, 1280);
             double distance = origin.DistanceTo(bottomRight);
             Console.WriteLine("Distance is {0}", distance);
             Console.WriteLine("No of Point objects: {0}", 
     	    Point.ObjectCount());
         }

         static void Main(string[] args)
         {
             try
             {
               //chiama il metodo statico entrance
               //e racchiude tutto in un blocco try

                 Entrance();
             }
             catch (Exception ex)
             {
                 Console.WriteLine(ex.Message);
             }
         }
     }
}



grazie per l'attenzione !


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Usenet Gratuit