ক্লাস এবং কাঠামোর মধ্যে পার্থক্য

Anonim

ক্লাস বনাম কাঠামো

অবজেক্ট অব ইরিয়েন্টেড (ওও) প্রোগ্রামিং ল্যাংগুয়েজগুলির কয়েকটি প্রধান ধারণা হল এনক্যাপসুলেশন, এরিয়া এবং পলিমারফিজম। ক্লাস এবং স্ট্রাকচারটি দুটি OO গঠন / সরঞ্জাম, যা প্রোগ্রামাররা এই এক্সপোটিং ওও প্রোগ্রামিং ল্যাঙ্গুয়েজগুলির অধিকাংশ (জাভা স্ট্রাকচার সরবরাহ করে না) মধ্যে এই ধারণাগুলি অর্জন করতে সহায়তা করে। ক্লাস বাস্তব বিশ্বের বস্তুর একটি বিমূর্ত উপস্থাপনা হয়। কাঠামো একটি অনুরূপ ব্যবহারের সঙ্গে ক্লাস অনুরূপ, কিন্তু ক্লাস তুলনায় কয়েক সীমাবদ্ধতা আছে। উভয় শ্রেণীর এবং কাঠামো একই ধরনের তথ্য গোষ্ঠীতে ব্যবহার করা হয়, একসঙ্গে।

ক্লাস কি?

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

--২ ->

কাঠামো কি?

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

ক্লাস এবং স্ট্রাকচারের মধ্যে পার্থক্য কি?

যদিও, উভয় ক্লাস এবং কাঠামো একই রকম প্রোগ্রামিং ভাষাগুলির মধ্যে পাওয়া যায়, তাদের কাছে সূক্ষ্ম পার্থক্য রয়েছে। সাধারণত, বর্গ গঠন একটি এক্সটেনশন হয়, এবং সেইজন্য কাঠামো কিছু আপেক্ষিক সীমাবদ্ধতা আছে। উদাহরণস্বরূপ, স্ট্রাকচারগুলিকে C ++ ক্লাস হিসাবে একই হিসাবে বিবেচনা করা যেতে পারে, তবে সদস্যগুলি শ্রেণীতে ডিফল্ট (স্ট্রাকচারগুলির মধ্যে অসমর্থ) দ্বারা প্রকাশ করা হয় না।এটি আসলে আপনি C ++ এ উপযুক্ত অ্যাক্সেস মোডফিয়ার ব্যবহার করে ঠিক একই বৈশিষ্ট্য সঙ্গে একটি বর্গ এবং একটি গঠন সংজ্ঞায়িত করতে পারেন মানে। যাইহোক সি, কাঠামো কোন ফাংশন বা ওভারলোডেড অপারেশন থাকতে পারে না। শ্রেণি এবং কাঠামো কীওয়ার্ড এবং একটি গঠন সংজ্ঞায়িত করতে ব্যবহৃত হয় C + +, যথাক্রমে C + +,. যখন এটি আসে. এনটিটি ভাষায় (সি #, ভিবি। নেট, ইত্যাদি), বর্গ একটি রেফারেন্স টাইপ, যখন কাঠামো একটি মান টাইপ। এবং সাধারণত, কাঠামো ছোট অবজেক্টের জন্য ব্যবহার করা হয়, তবে বৃহত্তর বস্তুর জন্য ক্লাস ব্যবহার করা হয় যা দীর্ঘ সময়ের জন্য মেমরিতে রাখা হয়।