Sobes.tech
Middle

Ar galima kurti parametrinius konstruktorius abstrakčioje klasėje?

sobes.tech AI

Atsakymas iš AI

Abstrakčioje klasėje galima kurti parametrinius konstruktorius. Abstrakčioje klasėje gali būti bet kokie konstruktoriai — tiek be parametrų, tiek su jais. Tai būtina, kad paveldėjimo metu vaikų klasės galėtų iškviesti šiuos konstruktorius, norėdamos inicializuoti objekto pagrindinę dalį.

Pavyzdžiui, C#:

abstract class Base
{
    protected int value;
    public Base(int val) { value = val; }
}

class Derived : Base
{
    public Derived(int val) : base(val) {}
}

Taigi, parametrinių konstruktorių buvimas abstrakčioje klasėje yra įprasta praktika duoti duomenis į objekto pagrindinę dalį.