|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
C# & dichiarazione di classi e metodi
Ola!
sto iniziando a vedere un po di C# ma non ho uno schema preciso che mi spieghi i diversi tipi di classi e metodi che si possono dichiarare. qualcuno può spiegarmi le varie differenze tra i diversi tipi? public e private li so static, interface, virtual... ecc sono nel buio totale chi ha voglia di spiegarmi qualcosa? plz......
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Dec 2004
Città: Alessandria
Messaggi: 97
|
Anch'io ho iniziato da poco a vedere qualcosa di C#...spero di esserti di aiuto.
Il modificatore static si può usare su membri e metodi di una classe; indica che il membro o metodo a cui si riferisce non è associato ad una specifica istanza della classe, quanto piuttosto alla classe stessa nel suo complesso (tutte le istanze generate modificheranno lo stesso membro). Il modificatore "virtual" si può usare sui metodi di una classe base, mentre sugli stessi metodi (se ci sono) delle classi derivate si utilizzerà "override"; in questo modo il compilatore saprà scegliere la versione corretta della funzione da chiamare in base al tipo reale dell'oggetto (è più complicato di così, ma spero che si capisca qualcosa...). Il modificatore abstract si usa per definire una classe base e alcuni suoi membri. Le classi derivate ereditano tutto, ma devono obbligatoriamente definire una loro versione dei membri che sono abstract nella classe base. Le interfacce, infine, sono delle entità simili a delle classi atratte che hanno tutti i membri astratti; le classi che usano quindi un'interfaccia devono definire obbligatoriamente una loro versione delle funzioni definite dall'interfaccia. Una differenza rispetto alle classi astratte è che una classe derivata può sfruttare più interfacce (mentre in C#, ragionando con le classi, ogni classe può al massimo ereditare da una sola classe base). Ci sono molte altre cose sulle classi...ora vado un po' di fretta e spero di esserti stato di aiuto. Se avessi ancora bisogno chiedi pure...ciao!
__________________
Se fosse cane...bau Se fosse gatto...miao Se fosse tardi...ciao |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2000
Città: Provincia di Parma
Messaggi: 724
|
abstract significa che quella classe può essere usata solo come classe base di un'altra classe.
Es. public abstract class MyClass { ... } public class MySecondClass : MyClass { ... } MyClass a = new MyClass(); // Errore MySecondClass b = new MySecondClass(); // Ok Il suo opposto è sealed, che significa appunto che quella classe non può essere derivata. Ciao
__________________
My Pc: Case Enermax Chakra - PSU Corsair HX520 - Gigabyte P35-DS3R - Core2 Duo E6550 - 6 Gb RAM Geil PC800 - 2x WD Caviar SE 320Gb (Raid1) - Xfx GeForce 8600Gt - Master Pioneer DVR111D - Samsung SM T220 - S.O. Windows 7 Ultimate x64 SP1 My blog: http://blogs.ugidotnet.org/alby |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:54.



















