C++ এ ইন্টারফেস কি?

C E Intaraphesa Ki



ইন্টারফেস, সাধারণত বিমূর্ত ক্লাস হিসাবে পরিচিত হয় ক্লাসের বাস্তবায়নে প্রতিশ্রুতিবদ্ধ না হয়েই ক্লাসের আচরণ বর্ণনা করার একটি উত্স। C++ প্রোগ্রামিং-এ ইন্টারফেসের অন্তর্নির্মিত ধারণা নেই। একটি ইন্টারফেস তৈরি করা শুরু করার জন্য, আমাদের প্রথমে শুধুমাত্র বিশুদ্ধ ভার্চুয়াল ফাংশনগুলির সাথে একটি বিমূর্ত শ্রেণী স্থাপন করতে হবে।

C++ এ ইন্টারফেসগুলি বিমূর্ত ক্লাস ব্যবহার করে প্রয়োগ করা হয়। অন্যদিকে, একটি ক্লাসকে একটি বিমূর্ত ক্লাস বলা হয় যদি একটি ক্লাসের ভিতরে অন্তত একটি ফাংশন একটি বিশুদ্ধ ভার্চুয়াল ফাংশন হিসাবে ঘোষণা করা হয়।

বিশুদ্ধ ভার্চুয়াল ফাংশন কি

দ্য বিশুদ্ধ ভার্চুয়াল ফাংশন এর মানে হল যে ব্যবহারকারীরা শুধুমাত্র ফাংশন ঘোষণা করে এবং এর সংজ্ঞা নয়। পদ্ধতি/ফাংশন ওভাররাইডিং প্রাপ্ত ক্লাসে বিশুদ্ধ ভার্চুয়াল পদ্ধতি প্রয়োগ করতে ব্যবহৃত হয়। একটি ফাংশন বিশুদ্ধ ভার্চুয়াল হিসাবে বিবেচিত হয় যদি এটি নীচে দেওয়া ক্লাসের ভিতরে বর্ণনা করা হয়:







এখানে a এর সিনট্যাক্স বিশুদ্ধ ভার্চুয়াল ফাংশন ক্লাস রুমের।



ক্লাস রুম {
পাবলিক :
// বিশুদ্ধ ভার্চুয়াল ফাংশন
অপার্থিব দ্বিগুণ গেটারিয়া ( ) = 0 ;

ব্যক্তিগত :
দ্বিগুণ দৈর্ঘ্য ; // একটি রুমের দৈর্ঘ্য
দ্বিগুণ প্রস্থ ; // একটি রুমের প্রস্থ
} ;

অ্যাবস্ট্রাক্ট ক্লাস কি

একটি শ্রেণী যা বিশেষভাবে একটি বেস ক্লাস হিসাবে পরিবেশন করার উদ্দেশ্যে তৈরি করা হয়েছিল তার নামকরণ করা হয়েছে an বিমূর্ত ক্লাস . বিমূর্ত শ্রেণীতে অন্তত একটি বিশুদ্ধ ভার্চুয়াল ফাংশন উপস্থিত থাকতে হবে। এতে ভেরিয়েবল এবং স্ট্যান্ডার্ড ফাংশন থাকতে পারে। বিমূর্ত শ্রেণীতে যে প্রাপ্ত ক্লাসগুলি রয়েছে, তাদের বেস ক্লাসের একটি বিশুদ্ধ ভার্চুয়াল ফাংশন প্রয়োগ করা উচিত, অন্যথায় তারা বিমূর্ত হয়ে যাবে।



নিম্নলিখিত উদাহরণটি বিবেচনা করুন, যেখানে প্যারেন্ট ক্লাস একটি বেস ক্লাসে একটি ইন্টারফেস দেয় যাতে বেস ক্লাসের জন্য একটি বিশুদ্ধ ভার্চুয়াল ফাংশন প্রয়োগ করা হয় getArea() . দুটি ভিন্ন শ্রেণী একই ব্যবহার করে getArea() ফাংশন, কিন্তু উভয় ক্ষেত্রেই আউটপুট ভিন্ন হবে।





# অন্তর্ভুক্ত করুন
ব্যবহার নামস্থান std ;
ক্লাস আকৃতি
{
পাবলিক :
অপার্থিব int গেটারিয়া ( ) = 0 ;
অকার্যকর সেট প্রস্থ ( int সঙ্গে )
{
প্রস্থ = সঙ্গে ;
}

অকার্যকর সেট দৈর্ঘ্য ( int lth )
{
দৈর্ঘ্য = lth ;
}

সুরক্ষিত :
int প্রস্থ ;
int দৈর্ঘ্য ;
} ;

ক্লাস আয়তক্ষেত্র : পাবলিক আকৃতি
{
পাবলিক : int গেটারিয়া ( )
{
ফিরে ( প্রস্থ * দৈর্ঘ্য ) ;
}
} ;

ক্লাস ত্রিভুজ : পাবলিক আকৃতি
{
পাবলিক : int গেটারিয়া ( )
{
ফিরে ( প্রস্থ * দৈর্ঘ্য ) / 2 ;
}
} ;

int প্রধান ( অকার্যকর )
{
আয়তক্ষেত্র আর ;
ত্রিভুজ টি ;
আর. সেট প্রস্থ ( 9 ) ;
আর. সেট দৈর্ঘ্য ( 5 ) ;
cout << 'আয়তক্ষেত্রের ক্ষেত্রফল:' << আর. গেটারিয়া ( ) << endl ;
টি. সেট প্রস্থ ( 9 ) ;
টি. সেট দৈর্ঘ্য ( 5 ) ;
cout << 'ত্রিভুজের ক্ষেত্রফল:' << টি. গেটারিয়া ( ) << endl ;
ফিরে 0 ;
}

আউটপুট



ইন্টারফেসের গুরুত্ব

একটি বিশুদ্ধ বিমূর্ত শ্রেণী (ইন্টারফেস) থেকে প্রাপ্ত যেকোন শ্রেণীকে সর্বদা বেস ক্লাসের প্রতিটি পদ্ধতি প্রয়োগ করা উচিত, অর্থাৎ ইন্টারফেস। ইন্টারফেস পয়েন্টারগুলি ফাংশনগুলির পাশাপাশি ক্লাসে পাস করা যেতে পারে, আমাদের সেখান থেকে প্রাপ্ত ক্লাসের ফাংশনগুলিকে কল করার অনুমতি দেয়।

ইন্টারফেস ব্যবহার করার নিয়ম কি কি?

C++ এ ইন্টারফেস ব্যবহার করার জন্য ব্যবহারকারীদের অনুসরণ করা উচিত নিম্নলিখিত নিয়ম রয়েছে:

  • শুধুমাত্র বিশুদ্ধ ভার্চুয়াল ফাংশন ঘোষণা.
  • বিশুদ্ধ ভার্চুয়াল ফাংশনের জন্য শুধুমাত্র 0 বরাদ্দ করা হয়েছে।
  • ক্লাসের ইন্টারফেস তৈরি করবেন না।
  • একটি বেস অ্যাবস্ট্রাক্ট ক্লাসের রেফারেন্স ব্যবহার করে, আমরা প্রাপ্ত ক্লাসের একটি উদাহরণের জন্য একটি পয়েন্টার তৈরি করতে পারি।

নিম্নলিখিত কোড, একটি ইন্টারফেস লিনাক্সহিন্ট , যেমন একটি বিশুদ্ধ ভার্চুয়াল পদ্ধতি ব্যবহার করে একটি বিমূর্ত শ্রেণী তৈরি করা হয়েছে, তেমনি এর ফাংশন চাইল্ড ক্লাসে প্রয়োগ করা হয়েছে, এবং আমরা returnString() ইন্টারফেসের নিয়ম অনুসরণ করে প্রধান ফাংশনে পদ্ধতি।

# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত করুন
#include
ব্যবহার নামস্থান std ;

ক্লাস লিনাক্সহিন্ট
{
পাবলিক :
অপার্থিব স্ট্রিং returnString ( ) = 0 ;
} ;
ক্লাস শিশু : পাবলিক লিনাক্সহিন্ট
{
পাবলিক :
স্ট্রিং returnString ( )
{
ফিরে 'হ্যালো লিনাক্সহিন্ট' ;
}
} ;
int প্রধান ( )
{
শিশু শিশু_বস্তু ;
লিনাক্সহিন্ট * pntr ;
pntr = এবং শিশু_বস্তু ;
cout < returnString ( ) ;
ফিরে 0 ;
}

আউটপুট

উপসংহার

ইন্টারফেস হল বিমূর্ত ক্লাস যা C++ এ প্রয়োজনীয় ক্লাস বাস্তবায়নের জন্য প্রয়োজনীয় শ্রেণী আচরণ বর্ণনা করে। উপরে উল্লিখিত নির্দেশিকাগুলি ইন্টারফেসের সাথে কাজ করার মাধ্যমে তাদের C++ প্রোগ্রামিং দক্ষতা উন্নত করার জন্য একজন শিক্ষানবিশের জন্য অত্যন্ত গুরুত্বপূর্ণ। আপনি কিছু উদাহরণও পাবেন যা আপনাকে C++ এ ইন্টারফেসের বাস্তবায়ন শিখতে সাহায্য করবে।