visto che stasera la mia ragazza mi ha rubato la console, eccomi a scrivere qualcosa sul blog ad un ora abbastanza insolita.
l'ultimo l'inguaggio di programmazione che ho usato prima di C# è stato il turbo pascal :) roba da matti.
sono stato subito conquistato dalla sintassi pulita e soprattutto dall'overload dei metodi (nella prossima verisione disponibile anche per VB), un pò scettico mi aveva lasciato l'overload degli operatori, perche in prima battuta non ne capivo l'utilità :).
per fare un esemio di overload di operatori basti pensare al significato di + nel tipo stringa, il compilatore penserà poi a generare il codice IL , praticamente viene prodotto un metodo.
poi ho iniziato ad apprezzare anche l'overload degli operatori un breve esempio:
public class carrello
{
public int cx;
public int cy;
public carrello(int x, int y)
{
cx = x;
cy = y;
}
public static carrello operator +(carrello a, carrello b)
{
int sx = a.cx + b.cx;
int sy = a.cy + b.cy;
return new carrello(sx, sy);
}
}
la classe è semplicissima espone due interi, la cosa più interessante è overload dell'operatore +,
public static carrello operator +(carrello a, carrello b)
l'overload si dichiara con la parola operator ed in genere il tipo restituito è dello stesso tipo della classe, questo non è obbligatorio ma permette di costruire catene, ovvero:
carrello1 + carrello2 + carrello3, questo non sarebbe possibile restituendo un tipo differente,inoltre l'verload non deve andare a modificare i valore degli argomenti.
ciao marco
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- ma dove vai se il var non ..., il 19 luglio 2006 alle 14:47
- DLINQ volume due, il 15 settembre 2005 alle 15:43
- DLinq mi piace , il 15 settembre 2005 alle 10:19
- ancora stringhe, il 21 dicembre 2004 alle 15:24
- in parziale rettifica o precisazione di quanto detto(...), il 13 dicembre 2004 alle 08:00
- interfacce, implementazioni esplicite, l'1 dicembre 2004 alle 14:12