Sto lavorando attraverso un tutorial 'professionale ASP.NET MVC 3' da J Galloway. In questo tutorial, Jon ci mostra come costruire il negozio di musica MVC.C# - quando usare public int virtuale, e quando utilizzare solo public int
Sono al punto in cui stiamo creando classi CS per modellare i dati utilizzando il codice EF prima.
I tutti gli gli esempi nel libro, public virtual int property {get; set; }
vengono utilizzati senza spiegazione. Il termine virtuale è farcito OVUNQUE.
Altrove sul web, non ho visto il termine virtuale utilizzata con qualsiasi tipo di concistency di sorta.
Qualcuno potrebbe spiegare a me:
- Lo scopo del termine 'virtuale' in questo particolare contesto
- sta usando 'virtuale' necessario?
- Perché alcune persone usano "virtuale" e altre no?
- Perché alcune persone usano "virtuale" solo quando definiscono chiavi esterne?
- Qual è l'uso pratico migliore del termine "virtuale"?
Molte grazie in anticipo
possibile duplicato del [funzioni virtuali] (http://stackoverflow.com/questions/6520394/virtual-functions) e http://stackoverflow.com/questions/1062102/practical-usage-of-virtual -functions-in-c-sharp – dash
Non sapevo che le funzioni virtuali e le proprietà virtuali erano la stessa cosa ??? – Gravy
È la parola chiave 'virtuale' che è importante :-) Indipendentemente dal fatto che si tratti di una funzione o di una proprietà, se non è contrassegnata come virtuale, a meno che un discendente non usi la parola chiave' new', devono prendere l'implementazione come definito nella classe base. Immagina di avere una classe chiamata persona, con una proprietà chiamata "Nome". Se non lo hai contrassegnato come proprietà virtuale, tutti i discendenti di Person, come impostazione predefinita, otterrebbero tale proprietà come nome. Se lo rendi virtuale (o usi la nuova parola chiave) puoi sovrascrivere (o, nel caso di una nuova, sostituire) quell'implementazione con una più specifica. – dash