এনক্যাপসুলেশন এবং অ্যাবস্ট্রাকশনের মধ্যে পার্থক্য

এনক্যাপসুলেশন এবং অ্যাবস্ট্রাকশনের মধ্যে পার্থক্য
এনক্যাপসুলেশন এবং অ্যাবস্ট্রাকশনের মধ্যে পার্থক্য

ভিডিও: এনক্যাপসুলেশন এবং অ্যাবস্ট্রাকশনের মধ্যে পার্থক্য

ভিডিও: এনক্যাপসুলেশন এবং অ্যাবস্ট্রাকশনের মধ্যে পার্থক্য
ভিডিও: TENS এবং EMS এর মধ্যে পার্থক্য কি? 2024, নভেম্বর
Anonim

এনক্যাপসুলেশন বনাম বিমূর্ততা

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

এনক্যাপসুলেশন কি?

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

বিমূর্ততা কি?

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

এনক্যাপসুলেশন এবং অ্যাবস্ট্রাকশনের মধ্যে পার্থক্য কী?

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

প্রস্তাবিত: