示例#1
0
        public void MakeBaby(Dad dad, string name)
        {
            Baby baby = new Baby(name);

            Child     = baby;
            dad.Child = baby;
            //???
            baby.AddComforter(dad.ComfortChild);
            baby.AddComforter(/*this.*/ ComfortChild);
            Console.WriteLine($"{Name} ha fatto un figlio con {dad.Name}, che si chiama {baby.Name}");
        }
示例#2
0
        static void Main(string[] args)
        {
            #region Old GetSet _ deleted
            // questa sarebbe la sintassi con i getter e setter invece delle proprietà:
            //b.SetName("Pippo");
            //Console.WriteLine(b.GetName());

            // le Proprietà, rispetto ai getter e setter, mi permettono anche
            // operazioni di post/pre-increment, ecc.
            //obj.IntValue++;
            //obj.SetIntValue(obj.GetIntValue() + 1);
            #endregion

            Robot r2d2 = new Robot("R2D2");

            Mum leila   = new Mum("Leila");
            Dad hanSolo = new Dad("Han Solo");

            leila.MakeBaby(hanSolo, "Kylo Ren");

            leila.Child.AddComforter(leila.ComfortChild);

            /* Aggiungi al Child di Leila il conforter TheForce (che è static) che calma il piccolo tramite il suo metodo/delegate TheForce.ConmfortChild(). */
            leila.Child.AddComforter(TheForce.ComfortChild);

            leila.Child.StartCrying();
            Console.ReadLine();
            leila.Child.StartCrying();
            Console.ReadLine();
            leila.Child.StartCrying();
            Console.ReadLine();
            leila.Child.StartCrying();
            Console.ReadLine();
            leila.Child.StartCrying();

            Console.ReadLine();
        }
示例#3
0
 public void Comfort(Dad dad)
 {
     Console.WriteLine($"{Name} da' una pacca sulla spalla a {dad}.");
 }