Sobes.tech
Middle

Czy można tworzyć konstruktory z parametrami w klasie abstrakcyjnej?

sobes.tech AI

Odpowiedź od AI

W klasie abstrakcyjnej można tworzyć konstruktory z parametrami. Klasa abstrakcyjna może mieć dowolne konstruktory — zarówno bez parametrów, jak i z nimi. Jest to konieczne, aby podczas dziedziczenia klasy pochodne mogły wywołać te konstruktory w celu inicjalizacji podstawowej części obiektu.

Na przykład w C#:

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

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

W związku z tym obecność konstruktorów z parametrami w klasie abstrakcyjnej jest powszechną praktyką służącą przekazywaniu danych do podstawowej części obiektu.