base w konstruktorach - odwołanie do konstruktora parenta.
public class A // To jest moja klasa bazowa (base).
{
    public A(int value)
    {
 Console.WriteLine("Klasa base A()");
    }
}
public class B : A // Ta klasa dziedziczy z klasy A,
{
    public B(int value)
 : base(value)
    {
 // najpierw wywoływany jest konstruktor bazy.
 // ... następnie wykonany jest konstruktor B
 Console.WriteLine("Pochodna klasa B()");
    }
}
class Program
{
    static void Main()
    {
 // Tworzy nową instancję/wystąpienie klasy  A, klasy bazowej.
 // ... następnie wywołuje klasę B, która wykona konstruktor bazy.
 A a = new A(0);
 B b = new B(1);
    }
Przykład z Video Pragim Technologies:
public class ParentClass
{
    public ParentClass()
    {
      Console.WriteLine(”ParentCass Constructor caI1ed");
    )
    public ParentClass(string Message) //TEN KONSTRUKTOR ZOSTANIE WYWOŁANY
    {
      Console.WriteLine(Message);
    )
}
public class ChildClass : ParentClass
(
    public ChildClass() : base(”Derived class controlling Parent class”) //UWAGA "base"
    (
    Console.WriteLine(”ChildClass Constructor called”);
    )
}
public class Program
(
    public static void Mamo
    (
       ChildClass CC = new ChildClass;
    }
} 
Rezultat:
Derived class controlling Parent class.ChildClass Constructor called. A teraz keyword this... pozwala konstruktorom odwoływać się do konstruktorów tej samej klasy. Przykład z dotnetperls:
using System;
class Mouse
{
    public Mouse()
 : this(-1, "")
    {
 // Ten pierwszy konstruktor wywoła drugi konstruktor z parametrami (-1, "").
    }
    public Mouse(int weight, string name)
    {
 // Constructor implementation.
 Console.WriteLine("Constructor weight = {0}, name = {1}",
     weight,
     name);
    }
}
class Program
{
    static void Main()
    {
 
 Mouse mouse1 = new Mouse();
 Mouse mouse2 = new Mouse(10, "Sam");
    }
}
Rezultat
Constructor weight = -1, name =
Constructor weight = 10, name = Sam
Brak komentarzy:
Prześlij komentarz