Chapter 10 -
AN INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
I. SHORT ANSWER QUESTIONS:
a. What do you mean by programming paradigm?
প্রোগ্রামিং প্যারাডাইম বলতে তুমি কী বোঝ?
Ans: Programming paradigms are different ways or styles in which a program or programming language can be organized. Each paradigm has opinions about certain structures, characteristics, and how to deal with common programming problems.
(প্রোগ্রামিং প্যারাডিজম হল বিভিন্ন উপায় বা শৈলী যেখানে একটি প্রোগ্রাম বা প্রোগ্রামিং ভাষা সংগঠিত করা যেতে পারে। প্রতিটি উদাহরণের নির্দিষ্ট কাঠামো, সুনির্দিষ্টতা এবং সাধারণ প্রোগ্রামিং সমস্যাগুলি কীভাবে মোকাবেলা করতে হয় সে সম্পর্কে মতামত রয়েছে।)
b. Define object.
(বস্তুটি সংজ্ঞায়িত করুন।)
Ans: An object is an abstract type of data that combines polymorphism and heritage. Instead of creating programs in the form of codes and data, an object-oriented system combines the two using the concept of "object". An object has status (data) and behavior (code).
(একটি বস্তু হল একটি বিমূর্ত ধরণের ডেটা যা পলিমরফিজম এবং ঐতিহ্যকে একত্রিত করে। কোড এবং ডেটা আকারে প্রোগ্রাম তৈরি করার পরিবর্তে, একটি বস্তু-ভিত্তিক সিস্টেম দুটিকে একত্রিত করার জন্য "অবজেক্ট" ধারণাটি ব্যবহার করে। একটি বস্তুর মধ্যে অবস্থা (ডেটা) এবং আচরণ (কোড) থাকে।)
c. Define class.
(বিভাগটি সংজ্ঞায়িত করুন।)
Ans:
d. What is encapsulation?
(এনকেপচুলেচন কি?)
Ans: Encapsulation is a way to limit direct access to certain elements of an object, so users cannot obtain state values for all variables in a particular object. Encapsulation can be used to hide both data members and data functions or methods associated with immediate categories or objects.
(এনক্যাপসুলেশন হল একটি বস্তুর কিছু উপাদানের সরাসরি অ্যাক্সেস সীমিত করার একটি উপায়, তাই ব্যবহারকারীরা একটি নির্দিষ্ট বস্তুর সমস্ত ভেরিয়েবলের জন্য স্টেট মান পেতে পারে না। এনক্যাপসুলেশন ডেটা সদস্য এবং তাৎক্ষণিক শ্রেণী বা বস্তুর সাথে সম্পর্কিত ডেটা ফাংশন বা পদ্ধতি উভয়ই লুকানোর জন্য ব্যবহার করা যেতে পারে।)
e. What is data hiding?
(তথ্য লুকানো কী?)
Ans: Data hiding is an object-oriented programming method (OP) used specifically to hide the details of internal objects (i.e., data members). Data masking ensures exclusive access to data only for class members and protects and maintains the integrity of objects by preventing intentional or unintentional changes and intrusions
(ডেটা লুকানো একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং পদ্ধতি (OP) যা বিশেষভাবে অভ্যন্তরীণ অবজেক্টের বিবরণ (অর্থাৎ ডেটা সদস্য) লুকানোর জন্য ব্যবহৃত হয়। ডেটা মাস্কিং শুধুমাত্র ক্লাস সদস্যদের জন্য ডেটাতে একচেটিয়া অ্যাক্সেস নিশ্চিত করে এবং ইচ্ছাকৃত বা অনিচ্ছাকৃত পরিবর্তন এবং অনুপ্রবেশ রোধ করে বস্তুর অখণ্ডতা রক্ষা করে এবং বজায় রাখে)
f. What is polymorphism?
(বহুরূপতা কী?)
Ans: Genomic-related polymorphism is the presence of two or more types of specific DNA sequences that can occur between different individuals or populations. The most common type of polymorphism includes variations in nucleotides (also called a single nucleotide polymorphism, or SNP
(জিনোমিক-সম্পর্কিত পলিমরফিজম হল দুই বা ততোধিক ধরণের নির্দিষ্ট ডিএনএ সিকোয়েন্সের উপস্থিতি যা বিভিন্ন ব্যক্তি বা জনগোষ্ঠীর মধ্যে ঘটতে পারে। পলিমরফিজমের সবচেয়ে সাধারণ ধরণের মধ্যে রয়েছে নিউক্লিওটাইড বৈচিত্র্য (যাকে একক নিউক্লিওটাইড পলিমরফিজম বা SNPও বলা হয়)।
g. Name four object oriented programming languages.
(চারটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষার নাম লেখ।)
Ans: Object-oriented languages include: Ginger, ActionScript, C++, Common Lipspop, C#, Dart, Eiffel, Fortran 2003, Hex, JavaScript, Kotlin, Logo, Metaleb, Object-C, Object Pascal, Pearl, PHP, Basic.NET Python, and R.
(অবজেক্ট-ভিত্তিক ভাষাগুলির মধ্যে রয়েছে: জিঞ্জার, অ্যাকশনস্ক্রিপ্ট, সি++, কমন লিপস্প, সি#, ডার্ট, আইফেল, ফোর্টরান ২০০৩, হেক্স, জাভাস্ক্রিপ্ট, কোটলিন, লোগো, মেটাল্যাব, অবজেক্ট-সি, অবজেক্ট প্যাসকেল, পার্ল, পিএইচপি, বেসিক.নেট পাইথন এবং আর।)
h. Name two procedure oriented programming languages.
(দুটি প্রক্রিয়া-ভিত্তিক প্রোগ্রামিং ভাষার নাম লেখ।)
Ans: Name to procedural languages is- FORTRAN, C, include BASIC, COBOL, and Pascal.
(প্রক্রিয়াগত ভাষাগুলির মধ্যে রয়েছে ফোরট্রান, সি, বেসিক, কোবল এবং পাস্কাল)
i. Name the first object oriented language.
(প্রথম বস্তু-ভিত্তিক ভাষার নাম বলো।)
Ans: The first object oriented language name was-Simula
j. What is abstraction?
(বিমূর্তীকরণ কী?)
Ans: Abstraction is a way to hide unnecessary details from a user. The user is given access only to the relevant details. Vehicle operations or ATM activities are classic examples of abstraction in the real world.
(বিমূর্তকরণ হল ব্যবহারকারীর কাছ থেকে অপ্রয়োজনীয় বিবরণ লুকানোর একটি উপায়। ব্যবহারকারীকে কেবল প্রাসঙ্গিক বিবরণে অ্যাক্সেস দেওয়া হবে। যানবাহন পরিচালনা বা এটিএম কার্যকলাপ বাস্তব জগতে বিমূর্ততার চমৎকার উদাহরণ।)
II. LONG ANSWER QUESTIONS:
দীর্ঘ উত্তরের প্রশ্ন::
a. Mention four characteristics of procedure oriented programming.
(প্রক্রিয়া-ভিত্তিক অগ্রগতির চারটি বৈশিষ্ট্য বর্ণনা করো।।)
Ans: The four characteristics of procedure oriented programming was-
1. It emphasis on algorithm.
2. Function can communicate by global variable.
3. Data move freely from one function to another function.
4. It uses top-down programming approach.
(প্রক্রিয়া-ভিত্তিক প্রোগ্রামিংয়ের চারটি বৈশিষ্ট্য ছিল-
1. এটি অ্যালগরিদমের উপর দৃষ্টি নিবদ্ধ করে।
2. ফাংশনগুলি গ্লোবাল ভেরিয়েবলের মাধ্যমে যোগাযোগ করতে পারে।
3. এক ফাংশন থেকে অন্য ফাংশনে অবাধে ডেটা স্থানান্তর করুন।
4. এটি একটি টপ-ডাউন প্রোগ্রামিং পদ্ধতি ব্যবহার করে।)
b. Mention two advantages and two disadvantages of procedure oriented programming
(প্রক্রিয়া-ভিত্তিক প্রোগ্রামিংয়ের দুটি সুবিধা এবং দুটি অসুবিধা বর্ণনা করো।)
Ans: The advantages and two disadvantages of oriented programming.
c. Explain four features of OOP.
(OOP এর চারটি বৈশিষ্ট্য ব্যাখ্যা করো।)
Ans: Abstraction, encapsulation, inheritance, and polymorphism are the four main concepts of OP. There are classes and things too.
(বিমূর্ততা, এনক্যাপসুলেশন, উত্তরাধিকার এবং পলিমরফিজম হল OP-এর চারটি প্রধান ধারণা। এছাড়াও বিভাগ এবং বস্তু আছে।)
d. List four advantages of OOP.
(OOP এর চারটি সুবিধার তালিকা করো।)
Ans: The four Advantages of OOP was-
1. OOP can support large scale and complex software development project.
2. It allows us the code re- usability.
3. Avoids unnecessary data exposure to the user by using abstraction.
4. Better software maintenance.
(OP-এর চারটি সুবিধা ছিল:
১. OOP বৃহৎ এবং জটিল সফ্টওয়্যার উন্নয়ন প্রকল্পগুলিকে সমর্থন করতে পারে।
২. এটি আমাদের কোডটি সেখানে পুনরায় ব্যবহারযোগ্য করার সুযোগ দেয়।
৩. বিমূর্তকরণ ব্যবহার করে ব্যবহারকারীর অপ্রয়োজনীয় ডেটা এক্সপোজার এড়ায়।
৪. উন্নত সফ্টওয়্যার তত্ত্বাবধান।)
e. Differentiate between procedure oriented programming and object oriented programming.
(প্রক্রিয়া-ভিত্তিক প্রোগ্রামিং এবং অবজেক্ট-ভিত্তিক প্রোগ্রামিংয়ের মধ্যে পার্থক্য করুন।)
Ans: OOP divides a program into smaller parts and these parts are called objects. Procedural programming divides a program into smaller programs and each small program is called a function. OOP focuses on data rather than action or process. Procedural programming does not value data
(OOP একটি প্রোগ্রামকে ছোট ছোট অংশে ভাগ করে এবং এই অংশগুলিকে অবজেক্ট বলা হয়। পদ্ধতিগত প্রোগ্রামিং একটি প্রোগ্রামকে ছোট ছোট প্রোগ্রামে বিভক্ত করে এবং প্রতিটি ছোট প্রোগ্রামকে একটি ফাংশন বলা হয়। OOP ফাংশন বা প্রক্রিয়ার পরিবর্তে ডেটার উপর ফোকাস করে। পদ্ধতিগত প্রোগ্রামিং ডেটার মূল্য দেয় না)