সি ++ তে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং সম্পর্কে আপনার যা জানা দরকার Everything

এই নিবন্ধটি আপনাকে পুনরাবৃত্ত প্রোগ্রামিং পদ্ধতির গভীরতর পরিচয় দেবে যা সি ++ এ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং।

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



সি ++ তে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এ এই নিবন্ধটি দিয়ে শুরু করা



অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং কী?

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

সি ++ তে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এ এই নিবন্ধটি নিয়ে চলছে



অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের বৈশিষ্ট্য:

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

সি ++ তে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এ এই নিবন্ধটি নিয়ে চলছে

অবজেক্টস

অবজেক্টগুলি ওওপিগুলিতে সর্বাধিক বুনিয়াদী ও মিডপটটাইম সত্তা y তারা ব্যবহারকারীর এবং মিডটোটাইফাইন্ড ডেটা যেমন ভেক্টর, সময় এবং তালিকাগুলি বা কোনও প্রোগ্রাম যা পরিচালনা করতে পারে তা উপস্থাপন করতে পারে। প্রোগ্রামিং সমস্যাটি বস্তুর ভিত্তিতে এবং তাদের মধ্যে যোগাযোগের প্রকৃতির ভিত্তিতে বিশ্লেষণ করা হয়। অবজেক্টগুলি এমনটি নির্বাচন করা উচিত যেগুলি বাস্তব-বিশ্বের বস্তুর সাথে মিলবে। বস্তুগুলি মেমোরিতে স্থান নেয় এবং এর কোনও সম্পর্কিত ঠিকানা নেই। এক্সিকিউশন অবজেক্টগুলি একে অপরকে বার্তা প্রেরণ করে ইন্টারঅ্যাক্ট করে। উদাহরণস্বরূপ, যদি 'স্টুডেন্ট' এবং * শিক্ষার্থী_র_ল_না 'কোনও প্রোগ্রামে দুটি অবজেক্ট হয় তবে স্টুডেন্ট অবজেক্টটি তার সাথে সম্পর্কিত চিহ্নিত চিহ্নগুলির জন্য অনুরোধ করে স্টুডেন্ট_র_এলে কোনও বার্তা পাঠাতে পারে। প্রতিটি বস্তুর ডেটা ম্যানিপুলেট করার কোড থাকে। অবজেক্টগুলি একে অপরের ডেটা বা কোড এর সাথে জেনেও যোগাযোগ করতে পারে

অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং সি ++ এ এই নিবন্ধটি নিয়ে চলছে



জাভাতে সেমফোর কী

ক্লাস

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

বৈদ্যুতিন ল্যাপটপ

এটি শ্রেণীর ইলেকট্রনিক্স সম্পর্কিত একটি অবজেক্ট ল্যাপটপ তৈরি করবে।

সি ++ তে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এ এই নিবন্ধটি নিয়ে চলছে

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

এনক্যাপসুলেশনকে একক ইউনিটের অধীনে ডেটা এবং তথ্য মোড়ানো হিসাবে সংজ্ঞায়িত করা যেতে পারে। অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং-এ, এনক্যাপসুলেশনটিকে ডেটা এবং যেগুলি দ্বারা হেরফের করে ফাংশনগুলি একত্রে আবদ্ধ হিসাবে সংজ্ঞায়িত করা হয়।

এনক্যাপসুলেশন - সিপিপি - এডুরেকাতে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং

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

এই নিবন্ধটি নিয়ে চলছে

বিমূর্ততা

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

এটি অ্যাক্সেস স্পেসিফায়ার ব্যবহার করে করা যেতে পারে। সি ++ এর 3 টি অ্যাক্সেস স্পেসিফায়ার রয়েছে:

  • ব্যক্তিগত
  • সুরক্ষিত
  • পাবলিক

এই নিবন্ধটি নিয়ে চলছে

পলিমারফিজম

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

একটি অপারেশন বিভিন্ন পরিস্থিতিতে প্রয়োজন অনুসারে বিভিন্ন আচরণ প্রদর্শন করতে পারে। আচরণটি ব্যবহৃত ডেটার ধরণের এবং অপারেশনে এর প্রয়োজনীয়তার উপর নির্ভর করে।

সি ++ অপারেটর ওভারলোডিং এবং ফাংশন ওভারলোডিং সমর্থন করে।

  • অপারেটর ওভারলোডিং: এটি বিভিন্ন পরিস্থিতিতে বিভিন্ন আচরণ প্রদর্শনের জন্য অপারেটর তৈরি করার প্রক্রিয়া।
  • ফাংশন ওভারলোডিং: ফাংশন ওভারলোডিং বিভিন্ন ধরণের কাজ সম্পাদনের জন্য একটি একক ফাংশন নাম ব্যবহার করে।

পলিমারফিজম উত্তরাধিকার বাস্তবায়নে ব্যাপকভাবে ব্যবহৃত হয়।

সি ++ তে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এ এই নিবন্ধটি নিয়ে চলছে

কিভাবে জাভাতে একটি প্রোগ্রাম শেষ

উত্তরাধিকার

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

উত্তরাধিকারের আসল ব্যবহার হ'ল এটি প্রোগ্রামারকে এমন একটি শ্রেণীর পুনরায় ব্যবহার করতে দেয় যা প্রায়, তবে ঠিক কী নয়, সে কী চায় এবং ক্লাসটি পরিবর্তন করে এমনভাবে পরিবর্তন করতে পারে যাতে এটি কোনও অনাকাঙ্ক্ষিত পার্শ্ব-প্রতিক্রিয়া প্রবর্তন করে না does বাকি ক্লাসে। নোট করুন যে প্রতিটি উপ-শ্রেণি কেবলমাত্র সেগুলি বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে যা এটির জন্য অনন্য এবং এটির বাকীগুলি, এটি তার পিতামহুল বর্গ থেকে প্রাপ্ত। কোনও শ্রেণিবিন্যাস ব্যবহার না করে প্রতিটি শ্রেণিকে স্পষ্টভাবে তার সমস্ত বৈশিষ্ট্য অন্তর্ভুক্ত করতে হবে যা অনেক সময় এবং প্রচেষ্টা গ্রহণ করতে পারে।

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

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই ব্লগের মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।