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



পাইথন ক্লাসের এই ব্লগটি বংশ, বৈশিষ্ট্য এবং বিভিন্ন ওওপিএস ধারণাগুলির যেমন উত্তরাধিকার, পলিমারফিজম এবং এনক্যাপসুলেশন সম্পর্কিত মৌলিক বিষয়গুলি নিয়ে কাজ করে।

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

চল শুরু করি.:-)





পাইথন ক্লাস কি?

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

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



  • ক্লাস ভেরিয়েবল একটি পরিবর্তনশীল যা কোনও শ্রেণীর সমস্ত পৃথক বস্তু / দৃষ্টান্ত দ্বারা ভাগ করা হয়।
  • উদাহরণস্বরূপ ভেরিয়েবল ভেরিয়েবলগুলি যা প্রতিটি উদাহরণের জন্য স্বতন্ত্র। এটি একটি পদ্ধতির মধ্যে সংজ্ঞায়িত করা হয় এবং এটি কেবলমাত্র কোনও শ্রেণীর বর্তমান উদাহরণের সাথে সম্পর্কিত belongs
  • পদ্ধতি ক্লাসে সংজ্ঞায়িত এবং কোনও বস্তুর আচরণ বর্ণনা করে এমন ক্রিয়াকলাপ হিসাবেও ডাকা হয়।

এখন, আসুন আমরা এগিয়ে চলুন এবং এটি পাইচার্মে কীভাবে কাজ করে তা দেখুন। শুরু করতে, প্রথমে পাইগন ক্লাসের বাক্য গঠনটি দেখুন।

বাক্য গঠন :

নবীনদের জন্য সেরা জাভা আদর্শ
শ্রেণি শ্রেণি_নাম: বিবৃতি -১। । বিবৃতি-এন

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



শ্রেণীর কর্মচারী: # কোনও বৈশিষ্ট্য এবং পদ্ধতিগুলি পাস করুন em_1 = কর্মচারী () এমম 2 = কর্মচারী () # ইনস্ট্যান্স ভেরিয়েবলটি ম্যানুয়ালি তৈরি করা যেতে পারে emp_1.first = 'aayushi' emp_1.last = 'জোহরি' emp_1.email='aayushi@edureka.co 'emp_1.pay = 10000 emp_2.first =' test 'emp_2.last =' abc 'emp_2.email='test@company.com' emp_2.pay = 10000 মুদ্রণ (emp_1.email) মুদ্রণ (emp_2.email)

আউটপুট -

aayushi@edureka.co টেস্ট@company.com

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

পাইথন ক্লাসে পদ্ধতি এবং বৈশিষ্ট্য

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

শ্রেণীর কর্মচারী: Def __init __ (স্ব, প্রথম, শেষ, সাল): self.fname = প্রথম self.lname = শেষ স্ব.সাল = সাল সেল্ফ.ইমেল = প্রথম + ''। + সর্বশেষ + '@ কোম্পানী ডটকম' এমপি_1 = কর্মচারী ('আয়ুশি', 'জোহরি', ৩৫০০০০) এমপি ৩ = কর্মচারী ('পরীক্ষা', 'পরীক্ষা', ১০০,০০০) মুদ্রণ (এমপি_এইমেল) মুদ্রণ (এমপি_.ইমেল)

এখন আমাদের 'init' পদ্ধতির মধ্যে আমরা এই ইনস্ট্যান্স ভেরিয়েবলগুলি সেট করেছি (স্ব, প্রথম, শেষ, সাল)। স্ব হ'ল দৃষ্টান্তটি যার অর্থ আমরা যখনই স্ব.ফ্রমন = প্রথমে লিখি, এটি এমপ_1.ফার্স্ট = 'আয়ুশি' এর সমান। তারপরে আমরা কর্মচারী শ্রেণীর উদাহরণ তৈরি করেছি যেখানে আমরা init পদ্ধতিতে নির্দিষ্ট মানগুলি পাস করতে পারি। এই পদ্ধতিটি উদাহরণগুলি আর্গুমেন্ট হিসাবে গ্রহণ করে। এটি ম্যানুয়ালি করার পরিবর্তে এটি করা হবে স্বয়ংক্রিয়ভাবে এখন

এর পরে, আমরা এক ধরণের ক্রিয়া সম্পাদন করার ক্ষমতা চাই। তার জন্য, আমরা একটি যুক্ত করব পদ্ধতি এই ক্লাসে। মনে করুন আমি কার্যকারিতাটি কর্মচারীর পুরো নামটি প্রদর্শন করতে চাই। সুতরাং আসুন আমরা এটি ব্যবহারিকভাবে বাস্তবায়ন করি।

শ্রেণীর কর্মচারী: Def __init __ (স্ব, প্রথম, শেষ, সাল): self.fname = প্রথম self.lname = শেষ স্ব.সাল = সাল সেল্ফ.ইমেল = প্রথম + ''। + শেষ + '@ কোম্পানী ডটকম' ডিফ পূর্ণ নাম (স্ব): ফর্ম্যাট '{} {}'। ফর্ম্যাট (স্ব.ফমনাম, স্ব.লমনাম) Emp_1 = কর্মচারী ('আয়ুশি', 'জোহরি', 350000) এমপি = = কর্মচারী ('পরীক্ষা', 'পরীক্ষা', 100000) মুদ্রণ (emp_1.email) মুদ্রণ (emp_2.email) মুদ্রণ (emp_1. ফুলম্যান্ট ()) মুদ্রণ (emp_2. পূর্ণ নাম ())

আউটপুট-

aayushi.johari@company.com test.test@company.com আইয়ুশহোহরি টেস্টেস্ট

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

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

শ্রেণীর কর্মচারী: পার্ক_রেজ = 1.05 ডিএফ __init __ (স্ব, প্রথম, শেষ, সাল): স্ব.ফেনাম = প্রথম স্ব.লাম = শেষ স্ব.সাল = সাল সেল্ফ.ইমেল = প্রথম + ''। + শেষ + '@ কোম্পানী ডটকম' ডিফ পূর্ণ নাম (স্ব): ফিরুন '{} {format'। ফর্ম্যাট (স্ব.ফমনাম, সেলফ.লমনাম) Def প্রয়োগ_raise (স্ব): স্ব.সাল = ইন (সেল.সাল * 1.05) ) emp_1 = কর্মচারী ('আয়ুশি', 'জোহরি', 350000) এমপি 3 = কর্মচারী ('পরীক্ষা', 'পরীক্ষা', 100000) মুদ্রণ (এম্প_1.সাল) এমআর_আপনি_রেইস () মুদ্রণ (এমপ_1.সাল)

আউটপুট-

350000 367500

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

পাইথন ক্লাসে বৈশিষ্ট্য

পাইথনের বৈশিষ্ট্যগুলি কোনও অবজেক্ট, উপাদান বা কোনও ফাইলের সম্পত্তি নির্ধারণ করে। দুটি ধরণের বৈশিষ্ট্য রয়েছে:

  • অন্তর্নির্মিত শ্রেণি বৈশিষ্ট্য: পাইথন ক্লাসের অভ্যন্তরে বিভিন্ন অন্তর্নির্মিত বৈশিষ্ট্য রয়েছে। উদাহরণস্বরূপ _ডিক্ট_, _ ডক_, _ নাম _ ইত্যাদি me আমাকে একই উদাহরণটি নিতে দাও যেখানে আমি কর্মচারীর সমস্ত কী-মান জোড় দেখতে চাই। তার জন্য, আপনি কেবল নীচের বিবৃতিটি লিখতে পারেন যা ক্লাসের নামস্থানটি অন্তর্ভুক্ত করে:

    মুদ্রণ (এমপ_1 .__ ডোক__)

    এটি কার্যকর করার পরে, আপনি আউটপুট পাবেন যেমন: {'নাম': 'আয়ুশি', 'নাম': 'জোহরি', 'সাল': 350000, 'ইমেল': 'আয়ুশি.জোহরি @company.com ’}

  • ব্যবহারকারীর দ্বারা সংজ্ঞায়িত বৈশিষ্ট্য : শ্রেণি সংজ্ঞা ভিতরে বৈশিষ্ট্য তৈরি করা হয়। আমরা গতিশীলভাবে কোনও শ্রেণীর বিদ্যমান দৃষ্টান্তগুলির জন্য নতুন বৈশিষ্ট্য তৈরি করতে পারি। বৈশিষ্ট্যগুলি পাশাপাশি শ্রেণীর নামের সাথেও আবদ্ধ হতে পারে।

পরবর্তী, আমরা আছে সর্বজনীন, সুরক্ষিত এবং ব্যক্তিগত বৈশিষ্ট্য। আসুন তাদের বিস্তারিতভাবে বুঝতে পারি:

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


এরপরে, আসুন একটি অজগর শ্রেণীর সবচেয়ে গুরুত্বপূর্ণ উপাদানটি বুঝি Ob

পাইথন ক্লাসে অবজেক্টগুলি কী কী?

যেমনটি আমরা উপরে আলোচনা করেছি, একটি অবজেক্ট বিভিন্ন বৈশিষ্ট্য অ্যাক্সেস করতে ব্যবহার করা যেতে পারে। এটি ক্লাসের উদাহরণ তৈরি করতে ব্যবহৃত হয়। উদাহরণ হ'ল রান-টাইমে তৈরি ক্লাসের একটি অবজেক্ট।

টিo আপনাকে একটি দ্রুত ওভারভিউ দেয়, মূলত একটি জিনিস হ'ল আপনি চারপাশে যা কিছু দেখেন। উদাহরণস্বরূপ: একটি কুকুর প্রাণী শ্রেণীর একটি বস্তু, আমি মানব শ্রেণির একটি বস্তু an একইভাবে, একই ফোন শ্রেণিতে বিভিন্ন জিনিস থাকতে পারে canএটি ইতিমধ্যে আমরা আলোচনা করেছি যা একটি ফাংশন কল অনুরূপ। আসুন এটি উদাহরণ সহ বুঝি:

ক্লাস মাইক্লাস: ডিএফ ফানক (স্ব): মুদ্রণ করুন ('হ্যালো') # একটি নতুন মাইক্লাস তৈরি করুন = মাইক্লাস () ob.func ()

পাইথন ক্লাস নিয়ে এগিয়ে চলুন, আসুন আমরা বিভিন্ন ওওপি ধারণাটি বুঝতে পারি।

ওওপিএস ধারণাগুলি

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

শেফ এবং জবাবদিহি মধ্যে পার্থক্য

পাইথন ক্লাস: উত্তরাধিকার

উত্তরাধিকার আমাদের বেস / পিতাম শ্রেণীর কাছ থেকে বৈশিষ্ট্য এবং পদ্ধতি উত্তরাধিকারী করার অনুমতি দেয়। এটি উপকারী কারণ আমরা উপ-শ্রেণী তৈরি করতে পারি এবং আমাদের অভিভাবক শ্রেণীর সমস্ত কার্যকারিতা পেতে পারি। তারপরে আমরা প্যারেন্ট ক্লাসকে প্রভাবিত না করেই ওভাররাইট ও নতুন কার্যকারিতা যুক্ত করতে পারি। আসুন একটি উদাহরণ সহ অভিভাবক শ্রেণি এবং শিশু শ্রেণীর ধারণাটি বুঝতে পারি।

আমরা ছবিটিতে দেখতে পাচ্ছি, একটি শিশু পিতার কাছ থেকে সম্পত্তিগুলি উত্তরাধিকার সূত্রে পায়। একইভাবে, পাইথনে, দুটি শ্রেণি রয়েছে:

১. পিতামাতার ক্লাস (সুপার বা বেস ক্লাস)

২. শিশু শ্রেণি (সাবক্লাস বা উত্পন্ন শ্রেণি)

বৈশিষ্ট্য উত্তরাধিকারসূত্রে প্রাপ্ত একটি শ্রেণি হিসাবে পরিচিত শিশু শ্রেণি যেখানে এমন একটি শ্রেণি যাঁদের সম্পত্তি উত্তরাধিকার সূত্রে প্রাপ্ত হিসাবে পরিচিত পিতামাতা ক্লাস

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

স্ক্রাম মাস্টার ভূমিকা এবং দায়িত্ব পিডিএফ

আসুন অজগর শ্রেণীর সাথে এগিয়ে চলুন এবং উত্তরাধিকার কীভাবে দরকারী তা বুঝতে পারি।

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

শ্রেণীর কর্মচারী: num_employee = 0 উত্সাহ_সংস্থান = 1.04 ডিএফ __init __ (স্ব, প্রথম, শেষ, সাল): self.first = প্রথম self.last = শেষ স্ব.সাল = সাল সেল্ট.ইমেল = প্রথম + ''। + শেষ + '@ কোম্পানী ডটকম' কর্মচারী.নাম_এম্পপ্লয়ী + = 1 ডিফ পুরো নাম (স্ব): ফর্ম্যাট '{} {}'। ফর্ম্যাট (স্ব.ফার্স্ট, সেল্ফ.লাস্ট) ডিফ প্রয়োগ_রেজ (স্ব): স্ব.সাল = ইন ( স্ব.সাল * উত্থাপন_আমাউন্ট) শ্রেণি বিকাশকারী (কর্মচারী): পাস এমপিআই = বিকাশকারী ('আয়ুশি', 'জোহরি', ১০০০০০০০) মুদ্রণ (এমপি_ইমেল)
 আউটপুট - aayushi.johari@company.com

আপনি উপরের আউটপুটটিতে দেখতে পাচ্ছেন, কর্মচারী শ্রেণির সমস্ত বিবরণ বিকাশকারী শ্রেণিতে উপলব্ধ।এখন যদি আমি কোনও বিকাশকারীর জন্য বাড়ানো_সংস্থানটি 10% এ পরিবর্তন করতে চাই তবে কী হবে? আসুন দেখুন কীভাবে এটি ব্যবহারিকভাবে করা যায়।

শ্রেণীর কর্মচারী: num_employee = 0 উত্সাহ_সংস্থান = 1.04 ডিএফ __init __ (স্ব, প্রথম, শেষ, সাল): self.first = প্রথম self.last = শেষ স্ব.সাল = সাল সেল্ট.ইমেল = প্রথম + ''। + শেষ + '@ কোম্পানী ডটকম' কর্মচারী.নাম_এম্পপ্লয়ী + = 1 ডিফ পুরো নাম (স্ব): ফর্ম্যাট '{} {}'। ফর্ম্যাট (স্ব.ফার্স্ট, সেল্ফ.লাস্ট) ডিফ প্রয়োগ_রেজ (স্ব): স্ব.সাল = ইন ( স্ব.সাল * উত্থাপন_আমাউন্ট) শ্রেণি বিকাশকারী (কর্মচারী): উত্থাপন_সামগ্রী = 1.10 এমপি_1 = বিকাশকারী ('আয়ুষি', 'জোহরি', 1000000) মুদ্রণ (এমপি_আরাইজ_মাউন্ট)
 আউটপুট - 1.1

আপনি দেখতে পাচ্ছেন যে এটি বেতন বৃদ্ধির শতাংশ 4% থেকে 10% এ আপডেট করেছে।এখন আমি যদি আরও একটি বৈশিষ্ট্য যুক্ত করতে চাই, তবে আমাদের ডিআইডি পদ্ধতিতে একটি প্রোগ্রামিং ভাষা বলুন, তবে এটি আমাদের প্যারেন্ট ক্লাসে বিদ্যমান নেই। এর কোন সমাধান আছে কি? হ্যাঁ! আমরা পুরো কর্মচারীর যুক্তি অনুলিপি করতে পারি এবং তা করতে পারি তবে এটি আবার কোডের আকার বাড়িয়ে তুলবে। সুতরাং এড়াতে, আসুন নীচের কোডটি বিবেচনা করুন:

শ্রেণীর কর্মচারী: num_employee = 0 উত্সাহ_সংস্থান = 1.04 ডিএফ __init __ (স্ব, প্রথম, শেষ, সাল): self.first = প্রথম self.last = শেষ স্ব.সাল = সাল সেল্ট.ইমেল = প্রথম + ''। + শেষ + '@ কোম্পানী ডটকম' কর্মচারী.নাম_এম্পপ্লয়ী + = 1 ডিফ পুরো নাম (স্ব): ফর্ম্যাট '{} {}'। ফর্ম্যাট (স্ব.ফার্স্ট, সেল্ফ.লাস্ট) ডিফ প্রয়োগ_রেজ (স্ব): স্ব.সাল = ইন ( সেল্ফ.সাল * উত্থাপন_আমার পরিমাণ) শ্রেণি বিকাশকারী (কর্মচারী): উত্থাপন_সামগ্রী = 1.10 ডিএফ __init __ (স্ব, প্রথম, শেষ, সাল, প্রগ_লং): সুপার () .__ আরআই __ (প্রথম, শেষ, সাল) স্ব.প্রোগ_লং = প্রগ_লং এমপি_ = বিকাশকারী ( 'আয়ুশি', 'জোহরি', 1000000, 'পাইথন') মুদ্রণ (এমপি_1.প্রোগ_লং)

অতএব, কোডের সামান্য বিট সহ, আমি পরিবর্তন করেছি। আমি সুপার .__ init __ (প্রথম, শেষ, বেতন) ব্যবহার করেছি যা বেস শ্রেণীর সম্পত্তি থেকে উত্তরাধিকার সূত্রে প্রাপ্ত।উপসংহারে, উত্তরাধিকার কোডটি পুনরায় ব্যবহার করতে এবং কোনও প্রোগ্রামের জটিলতা হ্রাস করতে ব্যবহৃত হয়।

পাইথন ক্লাস: পলিমারফিজম

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

আসুন আমরা একটি উদাহরণ দিয়ে বুঝতে পারি:

শ্রেণি প্রাণী: Def __init __ (স্ব, নাম): স্ব.নাম = নাম ডিফ টক (স্ব): পাস ক্লাস কুকুর (প্রাণী): ডিফ টক (স্ব): মুদ্রণ ('ওওফ') শ্রেণি বিড়াল (প্রাণী): ডিএফ টক ( স্ব): মুদ্রণ ('MEOW!') সি = বিড়াল ('কিটি') c.talk () d = কুকুর (প্রাণী) d.talk ()

আউটপুট -

মিউ! ওওফ

এর পরে, আসুন আমরা অন্য অবজেক্ট-ভিত্তিক প্রোগ্রামিং কনসেপ্ট অর্থাৎ অ্যাবস্ট্রাকশন-এ চলে যাই।

পাইথন ক্লাস: বিমূর্ততা

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

এবি আমদানি থেকে এবিসি, বিমূর্তিগত শ্রেণীর কর্মচারী (এবিসি): @ অবস্ট্রাকমেডো ডিফ গণনা_সালারি (স্ব, সাল): পাস ক্লাস বিকাশকারী (কর্মচারী): ডিএফ ক্যালকুলেট_সালারি (স্ব, সাল): ফাইনালসালারি = সাল * 1.10 রিটার্ন ফাইনালসালারি এম্পি = ডেভেলপার () মুদ্রণ (এমপ_ক্যালকুলেট_সালারি (10000))

আউটপুট-

11000.0

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

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

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

পাইথনের বিভিন্ন অ্যাপ্লিকেশন সহ গভীরতার জ্ঞান অর্জন করতে, আপনি এটি করতে পারেন 24/7 সমর্থন এবং আজীবন অ্যাক্সেস সহ আমাদের লাইভ অনলাইন প্রশিক্ষণ সহ।