সুচিপত্র[লুকান][দেখান]
- 1. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং আসলে কি?
- 2. কেন ওওপি প্রয়োজনীয়?
- 3. OOPS নীতিগুলি কী কী সুবিধা দেয়?
- 4. OOPs ধারণার স্তম্ভ কি কি?
- 5. ক্লাস আসলে কি?
- 6. বস্তু ঠিক কি?
- 7. OOPs এর সীমাবদ্ধতা কি?
- 8. উত্তরাধিকার কী?
- 9. সুনির্দিষ্টভাবে এনক্যাপসুলেশন কি?
- 10. পলিমরফিজম কি?
- 11. বিমূর্ততা কি?
- 12. পদ্ধতি ওভারলোডিং ঠিক কি?
- 13. পদ্ধতি ওভাররাইডিং ঠিক কি?
- 14. একটি সুপারক্লাস সঠিকভাবে কি?
- 15. সুনির্দিষ্টভাবে একটি উপশ্রেণী কী?
- 16. স্ট্যাটিক পলিমরফিজম আসলে কি?
- 17. গতিশীল পলিমরফিজম আসলে কি?
- 18. কনস্ট্রাক্টরের ধারণা বর্ণনা কর।
- 19. অ্যাক্সেস মডিফায়ার ঠিক কি?
- 20. একটি ধ্বংসকারী ঠিক কি?
- 21. হাইব্রিড উত্তরাধিকার ঠিক কি?
- 22. অনুক্রমিক উত্তরাধিকার সুনির্দিষ্টভাবে কি?
- 23. উত্তরাধিকারের ত্রুটিগুলি কী কী?
- 24. একটি ব্যতিক্রম কি?
- 25. ব্যতিক্রম হ্যান্ডলিং ঠিক কী এবং এর সুবিধাগুলি কী কী?
- 26. ভার্চুয়াল ফাংশন ঠিক কি?
- 27. বন্ধু ফাংশন ঠিক কি?
- 28. আবর্জনা সংগ্রহ আসলে কি?
- 29. সুনির্দিষ্টভাবে কাপলিং কি?
- 30. সুনির্দিষ্টভাবে সমন্বয় কি?
- 31. একটি চেষ্টা/ক্যাচ ব্লক বর্ণনা করুন।
- 32. একটি চূড়ান্ত ব্লক বর্ণনা করুন।
- 33. একটি ইন্টারফেস আসলে কি?
- 34. রচনা আসলে কি?
- 35. কনস্ট্রাক্টর চেইনিং আসলে কি?
- উপসংহার
সবচেয়ে প্রভাবশালী প্রোগ্রামিং দৃষ্টান্তগুলির মধ্যে একটিকে বলা হয় OOPs, বা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং। ফাংশন এবং প্রক্রিয়ার পরিবর্তে, এটি ক্লাস এবং বস্তুর উপর জোর দেয়।
এর মূল উদ্দেশ্য ডেটা এবং জিনিসগুলিকে সংযুক্ত করা যাতে তাদের সাথে কাজ করা সহজ হয়৷ OOPs-এর প্রতিটি বস্তু পদ্ধতি বা পদ্ধতির আকারে কোড এবং ক্ষেত্র আকারে ডেটা দিয়ে গঠিত।
সি++, অবজেক্টিভ সি, পাইথন, পার্ল এবং জাভা এর মতো ভাষাগুলি কিছু জনপ্রিয় অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা.
এটি সম্পর্কে আরও বোঝা গুরুত্বপূর্ণ কারণ উফ সাক্ষাত্কারের প্রশ্নগুলি অত্যন্ত সাধারণ। বেশিরভাগ সংস্থাগুলি এমন ইঞ্জিনিয়ারদের সন্ধান করছে যারা অবজেক্ট-ওরিয়েন্টেড পদ্ধতি এবং নিদর্শনগুলির সাথে পরিচিত। সুতরাং, আপনি যদি একটি সাক্ষাত্কারে অংশ নিতে চান তবে আপনাকে অবশ্যই OOP ধারণাগুলিতে ভালভাবে পারদর্শী হতে হবে।
শিক্ষানবিস থেকে বিশেষজ্ঞ স্তর পর্যন্ত বিভিন্ন অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ইন্টারভিউ প্রশ্ন এই পোস্টে দেখানো হবে। তাই আপনি যেকোনো স্তরের ইন্টারভিউ পাস করতে পারেন এবং আপনার স্বপ্নের অবস্থান নিশ্চিত করতে পারেন।
1. অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং আসলে কি?
অবজেক্ট-ওরিয়েন্টেড (OOPs) প্রোগ্রামিং শুধুমাত্র ফাংশন এবং প্রক্রিয়ার পরিবর্তে প্রকৃত বস্তুর উপর ভিত্তি করে। ক্লাস পৃথক পণ্য জন্য তৈরি করা হয়.
উত্তরাধিকার, পলিমরফিজম এবং গোপন করা বাস্তব-জগতের ধারণাগুলির উদাহরণ যা OOPs প্রোগ্রামিং-এ অন্তর্ভুক্ত করে। এটি ডেটা এবং কোড সংযোগ করাও সম্ভব করে তোলে।
2. কেন ওওপি প্রয়োজনীয়?
ওওপিগুলি পছন্দনীয় হওয়ার বেশ কয়েকটি কারণ রয়েছে, তবে নিম্নলিখিতগুলি সবচেয়ে গুরুত্বপূর্ণ:
- OOPs, লোকেদের সহজেই সফ্টওয়্যার বোঝার অনুমতি দেয় যদিও তারা বাস্তবায়নের সাথে অপরিচিত হয়।
- ওহো, দশের একটি ফ্যাক্টর দ্বারা কোড পঠনযোগ্যতা, বোধগম্যতা এবং রক্ষণাবেক্ষণযোগ্যতা উন্নত করুন।
- OOPs ব্যবহার করে, এমনকি অত্যন্ত বড় অ্যাপ্লিকেশন সহজভাবে নির্মিত এবং নিয়ন্ত্রণ করা যেতে পারে।
3. OOPS নীতিগুলি কী কী সুবিধা দেয়?
- ওওপিএস, প্রোগ্রামিং অবজেক্ট বাস্তব-বিশ্বের বস্তুর অনুকরণ করে, জটিলতা কমায় এবং প্রোগ্রামের স্বচ্ছতা বাড়ায়।
- অনেক প্রোগ্রামে অবজেক্ট বারবার ব্যবহার করা যায়।
- প্রতিটি বস্তু একটি স্বতন্ত্র সত্তা তৈরি করে যার অভ্যন্তরীণ ক্রিয়াকলাপগুলি অন্যান্য সিস্টেমের উপাদানগুলির থেকে স্বাধীন।
- কয়েকটি নতুন অবজেক্ট প্রবর্তন করে এবং ইতিমধ্যে বিদ্যমান কয়েকটি আপডেট করে, নতুন কার্যকারিতা যোগ করা বা পরিবর্তিত অপারেটিং অবস্থার সাথে খাপ খাইয়ে নেওয়া সম্ভব।
- একটি OOPs প্রোগ্রামের প্রক্রিয়া বা ডেটা উপস্থাপনা সহজেই ছোট সমন্বয়ের মধ্য দিয়ে যেতে পারে।
4. OOPs ধারণার স্তম্ভ কি কি?
OOP এর প্রধান স্তম্ভগুলি নিম্নরূপ:
উত্তরাধিকার: এটি ক্লাসগুলিকে অন্য ক্লাসের বৈশিষ্ট্যগুলি উত্তরাধিকারী করতে সক্ষম করে৷
encapsulation: এটি একটি বস্তুর সম্পত্তি হিসাবে সংজ্ঞায়িত করা হয় যা গুরুত্বপূর্ণ তথ্য গোপন করে। এটি ক্লাস সদস্যদের কাছ থেকে তথ্য গোপন রাখে। স্পেসিফায়ার বর্ণনা করে কিভাবে অবজেক্টের অ্যাট্রিবিউট কোডে অ্যাক্সেস করা হয়।
পলিমারফিজম: এটি আপনাকে বিভিন্ন উপায়ে একটি একক কার্যকলাপ চালানোর অনুমতি দেয়। এটি ইন্টারফেসের মাধ্যমে সম্পন্ন করা হয়, যেখানে আমরা একটি ইন্টারফেস ঘোষণা করি যা পরবর্তীতে বেশ কয়েকবার প্রয়োগ করা হয়।
বিমূর্তন: আপনি এই ফাংশনটি ব্যবহার করতে পারেন বাইরের বিশ্ব থেকে সমালোচনামূলক তথ্য লুকাতে এবং শুধুমাত্র প্রয়োজনীয় তথ্য উপস্থাপন করতে।
5. ক্লাস আসলে কি?
একটি শ্রেণী হল একটি প্রোটোটাইপ যা বিভিন্ন রাজ্যের বস্তু এবং বিভিন্ন আচরণের সাথে গঠিত। এটিতে অনেকগুলি পদ্ধতি রয়েছে যা সেই শ্রেণীর বস্তু দ্বারা ভাগ করা হয়।
6. বস্তু ঠিক কি?
একটি বস্তু হল একটি বাস্তব-বিশ্বের সত্তা যা OOP-এর মৌলিক একক হিসাবে কাজ করে, যেমন একটি চেয়ার, বিড়াল বা কুকুর। বিভিন্ন বস্তুর বিভিন্ন অবস্থা, বৈশিষ্ট্য এবং কর্ম রয়েছে।
7. OOPs এর সীমাবদ্ধতা কি?
- আকারটি অন্যান্য অ্যাপ্লিকেশনের তুলনায় বড়।
- এর জন্য কিছু অভ্যস্ত হওয়া প্রয়োজন।
- কিছু ধরণের সমস্যা এটির জন্য ডাকে না।
- এটি তৈরি করা শ্রম-নিবিড় ছিল, এবং অন্যান্য অ্যাপ্লিকেশনের তুলনায় এটি আরও ধীরে ধীরে কাজ করে।
8. উত্তরাধিকার কী?
উত্তরাধিকার নামক একটি ধারণা অন্য শ্রেণীর দ্বারা একটি শ্রেণীর প্রতিষ্ঠিত কাঠামো এবং আচরণের ভাগাভাগি বোঝায়। যখন উত্তরাধিকার একটি একক শ্রেণীর জন্য প্রয়োগ করা হয়, তখন এটি একক উত্তরাধিকার হিসাবে উল্লেখ করা হয়; যখন এটি অনেক শ্রেণীর উপর নির্ভর করে, তখন একে একাধিক উত্তরাধিকার হিসাবে উল্লেখ করা হয়।
9. সুনির্দিষ্টভাবে এনক্যাপসুলেশন কি?
OOP-এর ধারণার মধ্যে এনক্যাপসুলেশনও রয়েছে। এটি ডেটা এবং ডেটা ম্যানিপুলেশন কৌশলগুলির মিশ্রণকে বর্ণনা করে। উপরন্তু, এটি একটি বস্তুর কিছু অংশে সরাসরি অ্যাক্সেস প্রতিরোধে সহায়তা করে।
10. পলিমরফিজম কি?
ওওপি ভাষায়, পলিমরফিজম একটি মৌলিক ধারণা। এটি দেখায় কিভাবে বিভিন্ন ক্লাস একটি ইন্টারফেস ভাগ করতে পারে। এই ক্লাসগুলি অনন্য ইন্টারফেস বাস্তবায়ন করতে সক্ষম।
11. বিমূর্ততা কি?
বিমূর্ততা হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOPs) ধারণা যা বাস্তব-বিশ্বের বস্তুর গঠন তৈরি করতে ব্যবহৃত হয়। এটি কেবলমাত্র সবচেয়ে গুরুত্বপূর্ণ গুণাবলী "প্রদর্শন করে" এবং বাইরের জগত থেকে বহিরাগত তথ্য "গোপন করে"। বিমূর্তকরণের মূল লক্ষ্য হল অপ্রয়োজনীয় তথ্য থেকে মানুষকে রক্ষা করা।
12. পদ্ধতি ওভারলোডিং ঠিক কি?
দুই বা ততোধিক পদ্ধতির জন্য একই নাম থাকা সম্ভব। তাদের অবশ্য স্বতন্ত্র পরামিতি, ভিন্ন সংখ্যক পরামিতি, স্বতন্ত্র প্রকার বা উভয়ই থাকা উচিত। এগুলি ওভারলোড করা পদ্ধতি হিসাবে পরিচিত, এবং বৈশিষ্ট্যটি মেথড ওভারলোডিং হিসাবে পরিচিত।
13. পদ্ধতি ওভাররাইডিং ঠিক কি?
অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতি ওভাররাইডিংয়ের ধারণা অন্তর্ভুক্ত করে। এটি একটি ভাষা বৈশিষ্ট্য যা একটি সাবক্লাস বা চাইল্ড ক্লাস একটি পদ্ধতির একটি কাস্টমাইজড বাস্তবায়ন অফার করতে দেয় যা এর সুপারক্লাস বা অভিভাবক শ্রেণীগুলির মধ্যে একটি ইতিমধ্যে প্রদান করে।
14. একটি সুপারক্লাস সঠিকভাবে কি?
একটি সুপারক্লাস, প্রায়শই একটি বেস ক্লাস হিসাবে পরিচিত, হল এক ধরণের শ্রেণী যা অন্য শ্রেণী বা শ্রেণীর অভিভাবক হিসাবে কাজ করে। উদাহরণস্বরূপ, গাড়ির শ্রেণিতে যানবাহন নামে একটি উপশ্রেণী রয়েছে।
15. সুনির্দিষ্টভাবে একটি উপশ্রেণী কী?
একটি সাবক্লাস হল অন্য ক্লাসের একটি সাবক্লাস। একটি ভ্যান, উদাহরণস্বরূপ, একটি যানবাহন সাবক্লাস বা প্রাপ্ত শ্রেণী।
16. স্ট্যাটিক পলিমরফিজম আসলে কি?
কম্পাইলের সময়, স্ট্যাটিক পলিমরফিজম (স্ট্যাটিক বাইন্ডিং) নামে পরিচিত এক ধরনের পলিমরফিজম ঘটে। মেথড ওভারলোডিং হল এক ধরনের কম্পাইল-টাইম পলিমরফিজম।
17. গতিশীল পলিমরফিজম আসলে কি?
রানটাইমে সমাধান করা এক ধরণের পলিমরফিজমকে রানটাইম পলিমরফিজম বলা হয়, যা ডাইনামিক পলিমরফিজম (ডাইনামিক বাইন্ডিং) নামেও পরিচিত। পদ্ধতির ওভাররাইডিং রানটাইম পলিমারফিজমের একটি চিত্র।
18. কনস্ট্রাক্টরের ধারণা বর্ণনা কর।
কনস্ট্রাক্টর হল একটি ক্লাসের একটি নির্দিষ্ট পদ্ধতি যা একটি ক্লাস ইনস্ট্যান্স তৈরি হলে স্বয়ংক্রিয়ভাবে কল করা হয়। আপনি যখন ক্লাসটি অ্যাক্সেস করেন, তখন এটি ক্লাসের মতো একই নামে নির্মিত হয় এবং এর সমস্ত সদস্যকে শুরু করে। একজন কনস্ট্রাক্টরের প্রাথমিক বৈশিষ্ট্যগুলি নিম্নরূপ:
কনস্ট্রাক্টরদের জন্য কোন রিটার্ন টাইপ নেই।
ওভারলোডিং কনস্ট্রাক্টর সম্ভব।
এটি একটি কনস্ট্রাক্টর নির্দিষ্ট করার প্রয়োজন নেই; নেট ফ্রেমওয়ার্ক এটি স্বয়ংক্রিয়ভাবে করবে।
19. অ্যাক্সেস মডিফায়ার ঠিক কি?
অবজেক্ট-ওরিয়েন্টেড ভাষায়, কীওয়ার্ড হল অ্যাক্সেস মডিফায়ার বা অ্যাক্সেস স্পেসিফায়ার। এটি ক্লাস, পদ্ধতি এবং অন্যান্য সদস্যদের অ্যাক্সেসযোগ্যতার কনফিগারেশনে সহায়তা করে।
20. একটি ধ্বংসকারী ঠিক কি?
একটি ধ্বংসকারী একটি বস্তুর জন্য বরাদ্দ সম্পদ মুক্তির জন্য একটি পদ্ধতি. যখন একটি বস্তু ধ্বংস হয়, এই পদ্ধতি স্বয়ংক্রিয়ভাবে বলা হয়.
21. হাইব্রিড উত্তরাধিকার ঠিক কি?
হাইব্রিড উত্তরাধিকার হল এক ধরনের উত্তরাধিকার যা একক, একাধিক ইত্যাদির মতো উত্তরাধিকারের বিভিন্ন ধরণের মিশ্রণের মাধ্যমে তৈরি হয়।
22. অনুক্রমিক উত্তরাধিকার সুনির্দিষ্টভাবে কি?
অনুক্রমিক উত্তরাধিকারের পরিস্থিতিতে একাধিক সাবক্লাস একটি প্যারেন্ট ক্লাস থেকে উত্তরাধিকার সূত্রে প্রাপ্ত। এক ধরনের উত্তরাধিকার যেখানে একটি একক অভিভাবক বা বেস শ্রেণী থেকে অসংখ্য শ্রেণী অবতীর্ণ হয় তাকে শ্রেণিবিন্যাস উত্তরাধিকার বলে। উদাহরণস্বরূপ, ফলের শ্রেণীতে উপশ্রেণী থাকতে পারে যেমন 'আপেল, "আম,' 'কলা,' 'চেরি' ইত্যাদি।
23. উত্তরাধিকারের ত্রুটিগুলি কী কী?
এটি কার্যকর করার প্রক্রিয়াটিকে দীর্ঘায়িত করে এবং জটিল করে তোলে। এটি বিভিন্ন শ্রেণীর মধ্যে স্যুইচিং প্রয়োজন। পিতামাতা এবং শিশু শ্রেণি সর্বদা অবিচ্ছেদ্যভাবে সংযুক্ত থাকে।
পাঠ্যক্রমের পরিবর্তনগুলি অভিভাবক এবং সন্তানের উভয় শ্রেণীর জন্যই সংশোধনের প্রয়োজন হবে। উত্তরাধিকার সাবধানে প্রয়োগ করা আবশ্যক নয়তো ফলাফল ভুল হবে।
24. একটি ব্যতিক্রম কি?
একটি ব্যতিক্রম হল একটি ঘটনা যা কোডের স্বাভাবিক ক্রিয়াকলাপে হস্তক্ষেপ করে। এক্সিকিউশন চালিয়ে যেতে, আপনি জাভাতে এই ব্যতিক্রমগুলি পরিচালনা করতে পারেন। জাভাতে, অনেক ধরণের পূর্ব-নির্ধারিত ব্যতিক্রম রয়েছে, এবং ট্রাই-ক্যাচ ব্লক ব্যবহার করে উত্থাপিত ব্যতিক্রমগুলি নিয়ন্ত্রণ করতে ব্যতিক্রম পরিচালনা করা হয়।
25. ব্যতিক্রম হ্যান্ডলিং ঠিক কী এবং এর সুবিধাগুলি কী কী?
অপ্রত্যাশিত রানটাইম ব্যর্থতার সাথে মোকাবিলা করার জন্য জাভাতে সবচেয়ে গুরুত্বপূর্ণ পদ্ধতি হল ব্যতিক্রম হ্যান্ডলিং। এটি আপনাকে রানটাইম ত্রুটিগুলি নিয়ন্ত্রণ করতে দেয় যা প্রোগ্রাম সম্পাদনের সময় উদ্ভূত হয়।
ব্যতিক্রম পরিচালনার সুবিধার মধ্যে রয়েছে ব্যতিক্রমগুলি পরিচালনা করার সময় নিয়মিত প্রোগ্রাম প্রবাহ বজায় রাখার ক্ষমতা। উদাহরণস্বরূপ, যদি প্রোগ্রামের একটি বিভাগে একটি ত্রুটি ঘটে, তবে প্রোগ্রামের বাকি অংশে এটির কোন প্রভাব থাকবে না যদি আমরা চেষ্টা-ক্যাচ ব্লকের সাথে ব্যতিক্রমটি পরিচালনা করি।
26. ভার্চুয়াল ফাংশন ঠিক কি?
ভার্চুয়াল ফাংশনগুলিও প্যারেন্ট ক্লাসের ফাংশনে অন্তর্ভুক্ত করা হয় এবং সাবক্লাস দ্বারা ওভাররাইড করা হয়। এই রুটিনগুলি রানটাইম পলিমারফিজম অর্জনে সহায়তা করে।
27. বন্ধু ফাংশন ঠিক কি?
একটি বন্ধু ফাংশন হল একটি ফাংশন যা একটি শ্রেণীর অন্তর্গত এবং এটির সর্বজনীন, ব্যক্তিগত বা সুরক্ষিত ডেটা অ্যাক্সেস করার অনুমতি দেওয়া হয়। যদি ফাংশনটি ক্লাসের বাইরে সংজ্ঞায়িত করা হয় তবে এই ডেটা পুনরুদ্ধার করা সম্ভব নয়। ব্যক্তিগত, সর্বজনীন এবং সুরক্ষিত অ্যাক্সেস কন্ট্রোল কীওয়ার্ডগুলির বন্ধু ঘোষণার উপর কোন প্রভাব নেই, যা ক্লাস ঘোষণার যে কোনও জায়গায় করা যেতে পারে।
28. আবর্জনা সংগ্রহ আসলে কি?
আবর্জনা সংগ্রহ (GC) হল C# এবং Java এর মতো প্রোগ্রামিং ভাষার একটি উপাদান যা মেমরি পুনরুদ্ধার সিস্টেম হিসাবে কাজ করে। একটি আবর্জনা সংগ্রহ (GC) ইঞ্জিন হল একটি প্রোগ্রামিং ভাষার একটি উপাদান যা অ্যাপ্লিকেশনটি আর ব্যবহার করছে না এমন বস্তুগুলির জন্য স্বয়ংক্রিয় মেমরি স্পেস রিলিজ করার অনুমতি দেয়।
29. সুনির্দিষ্টভাবে কাপলিং কি?
এটি এমন পরিস্থিতিতে বোঝায় যেখানে বিভিন্ন শ্রেণি একে অপরের উপর নির্ভর করে এবং জ্ঞান ভাগ করে। একটি শক্তিশালী সংযোগ ঘটে যখন একটি শ্রেণীর অন্য শ্রেণীর বিস্তারিত জ্ঞান থাকে। আপনি অ্যাক্সেস মডিফায়ার ব্যবহার করে ক্লাস, পদ্ধতি বা ভেরিয়েবলের দৃশ্যমানতা নির্দিষ্ট করতে পারেন। দুর্বল কাপলিং প্রদান করতে ইন্টারফেস ব্যবহার করা হয়।
30. সুনির্দিষ্টভাবে সমন্বয় কি?
একটি উপাদান যেভাবে একটি নির্দিষ্ট কার্যকলাপ সম্পাদন করে তাকে তার সংহতি হিসাবে উল্লেখ করা হয়। একটি শক্তিশালী, সমন্বিত পদ্ধতি কেবল সংজ্ঞায়িত কাজটি করবে, যেখানে একটি দুর্বল, সমন্বিত পদ্ধতি একক কাজটিকে কয়েকটি ছোট কাজগুলিতে বিভক্ত করবে এবং তারপরে সেগুলি সম্পূর্ণ করবে।
Java.io প্যাকেজটি বেশ সুসঙ্গত, কিন্তু java.util প্যাকেজটি নয়।
31. একটি চেষ্টা/ক্যাচ ব্লক বর্ণনা করুন।
যখন একটি প্রোগ্রাম ভুল কোড বা ডেটার কারণে একটি ত্রুটির সম্মুখীন হয়, তখন "চেষ্টা" এবং "ক্যাচ" নির্দেশ করে কিভাবে এটি পরিচালনা করতে হয়। একটি চেষ্টা ব্লক হল কোডের অংশের নাম যখন ব্যতিক্রম ঘটে। একটি ক্যাচ ব্লক ট্রাই ব্লক থেকে ব্যতিক্রমগুলি ক্যাপচার এবং মোকাবেলা করতে ব্যবহৃত হয়।
32. একটি চূড়ান্ত ব্লক বর্ণনা করুন।
ট্রাই কীওয়ার্ডের কোডের কাজের অংশটি শেষ নির্দেশিত হয়েছে। এটি সেই কোডটিকে মনোনীত করে যা সর্বদা ট্রায়ালের পর অবিলম্বে চালানো হয় এবং পদ্ধতিটি সম্পূর্ণ হওয়ার আগে কোনো ক্যাচ ব্লক। একটি ব্যতিক্রম নিক্ষেপ বা ধরা হোক না কেন চূড়ান্ত ব্লক সর্বদা চালানো হয়।
33. একটি ইন্টারফেস আসলে কি?
একটি ইন্টারফেস হল বিমূর্ত পদ্ধতি এবং ব্যবহারকারী-সংজ্ঞায়িত ডেটা টাইপের সংমিশ্রণ। একটি ক্লাস একটি ইন্টারফেস প্রয়োগ করে, ইন্টারফেসের বিমূর্ত ফাংশনগুলিকে উত্তরাধিকার সূত্রে প্রাপ্ত করে।
একটি ক্লাস একটি বস্তুর বৈশিষ্ট্য এবং আচরণের প্রতিনিধিত্ব করে, যেখানে একটি ইন্টারফেসে এমন আচরণগুলি অন্তর্ভুক্ত করে যা একটি শ্রেণী প্রয়োগ করে। ইন্টারফেস "কি" উপস্থাপন করে যেখানে ক্লাস "কিভাবে" বোঝায়।
34. রচনা আসলে কি?
রচনাটি একটি সংযোগ অর্জন করতে ব্যবহার করা যেতে পারে। এটি একত্রিতকরণের বিপরীতে নির্ভরশীল এবং স্বাধীন বস্তুর মধ্যে একটি শক্তিশালী বস্তুর সংযোগ প্রদর্শন করে। এই পরিস্থিতিতে নির্ভরশীল বস্তুটি বিদ্যমান নেই এবং যদি মূল বস্তুটি মুছে ফেলা হয় তবে তা সরানো হবে।
35. কনস্ট্রাক্টর চেইনিং আসলে কি?
কনস্ট্রাক্টর চেইনিং হল বর্তমান অবজেক্ট রেফারেন্সের সাথে এক কনস্ট্রাক্টরকে অন্য থেকে কল করার একটি কৌশল। দুটি বিকল্প আছে:
- বর্তমান ক্লাসের কনস্ট্রাক্টরকে "এই" কীওয়ার্ড ব্যবহার করে উল্লেখ করা যেতে পারে।
- "সুপার" কীওয়ার্ডটি বেস ক্লাস থেকে কনস্ট্রাক্টরকে আহ্বান করতে ব্যবহার করা হবে।
উপসংহার
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং প্রোগ্রামের কাঠামো সম্পর্কে চিন্তা করা এবং সময়ের আগে প্রস্তুতি নেওয়া প্রয়োজন। প্রয়োজনীয়তাগুলিকে কীভাবে মৌলিক, পুনঃব্যবহারযোগ্য শ্রেণীতে ভাগ করা যায় যা জিনিসগুলির উদাহরণ তৈরি করতে ব্যবহার করা যেতে পারে তা পরীক্ষা করা।
সামগ্রিকভাবে, OOP আলিঙ্গন উন্নত জন্য প্রদান করে উপাত্ত কাঠামো এবং পুনঃব্যবহারযোগ্যতা, যা দীর্ঘমেয়াদে সময় বাঁচায়। দেখা হ্যাশডর্কের ইন্টারভিউ সিরিজ ইন্টারভিউ প্রস্তুতির জন্য সাহায্যের জন্য।
নির্দেশিকা সমন্ধে মতামত দিন