Senior
არსებობს კონსტრუქტორი აბსტრაქტულ კლასში?
sobes.tech AI
პასუხი AI-სგან
ஆம், அப்ஸ்ட்ராக்ட் வகுப்பில் கட்டுமானம் (constructor) இருக்கலாம். அப்ஸ்ட்ராக்ட் வகுப்பு என்பது நேரடியாக எடுத்துக்கொள்ளும் வகுப்பாக இல்லாமல், அதன் உள்ளடக்கம், அதில் கட்டுமானம் (constructor) உட்பட, இருக்கலாம்.
அப்ஸ்ட்ராக்ட் வகுப்பின் கட்டுமானம் பொதுவான புலங்களை ஆரம்பிக்க அல்லது பொதுவான லாஜிகை செய்ய பயன்படுத்தப்படுகிறது, இது துணை வகுப்புகளால் வாரிசு பெறும்.
C++ எடுத்துக்காட்டு:
class AbstractBase {
public:
AbstractBase(int value) : data(value) {}
virtual void doSomething() = 0; // தூய விருப்ப செயல்பாடு
protected:
int data;
};
class Derived : public AbstractBase {
public:
Derived(int value) : AbstractBase(value) {}
void doSomething() override {
// செயலாக்கம்
}
};
இங்கே, AbstractBase கட்டுமானம், வாரிசு வகுப்பின் கட்டுமானத்திலிருந்து அழைக்கப்படுகிறது, data புலத்தை ஆரம்பிக்க. ஆகையால், அப்ஸ்ட்ராக்ட் வகுப்பில் கட்டுமானம் இருக்க வேண்டும் என்பது சாதாரண நடைமுறை.