Sto studiando i costruttori con parametri e ho creato questo codice:
Ora provo a commentarlo per vedere se ne ho capito il funzionamento e pregherei qualcuno di voi, che ne sa più di me, di confermarmi se ho capito e, nel caso contrario di correggermi.codice:using System; using System.Drawing; namespace CostruttoriSottoclassi { abstract class GenericCustomer { private string Name; public GenericCustomer(string Name) { this.Name = Name; } } class Nevermore60Customer : GenericCustomer { public Nevermore60Customer(string Name) : base(Name) { } } public class Avvia { static void Main() { GenericCustomer customer = new Nevermore60Customer("Nome Cognome"); if (customer != null) Console.WriteLine("L'oggetto è pieno"); } } }
Iniziamo con il creare un namespace chiamato CostruttoriSottoclassi, e fin quì ok!
Creiamo una classe astratta(ovvero una classa che non si può istanziare direttamente ma si può solo ereditare!), all'interno della quale creiamo un campo string privato chiamato Name; successivamente creiamo un costruttore per la classe in questione che, passandogli il parametro string Name. Inizializziamo il valore Name a null(giusto???). Creiamo un'altra classe chiamata Nevermore60Customer che eredita da GenericCustomer. All'interno della classe Nevermore60Customer creiamo un costruttore, passandogli, come parametro, string Name e affidandone, tramite il codice : base(Name) la gestione del parametro passato, alla classe base, dato che il campo name è privato e non è visibile alla classe sottostante, giusto?Alla fine, nel metodo main, istanziamo GenericCustomer, popolando l'oggetto con il valore "Nome Cognome"!