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

Shakil Zaman
Sep 3, 2018 · 3 min read

ক্লাস

  • class কিওয়ার্ড দিয়ে শুরু করতে হবে ।
  • ক্লসের মুল উদ্দেশ্য হল রিলেটেড/একই টাইপের মেথড এবং প্রপার্টিকে একসাথে রাখা

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

অবজেক্ট

  • অবজেক্ট হল ক্লাসের ইন্সট্যান্স ।
  • ক্লাসের অবজেক্ট তৈরি করে তার কোন প্রপার্টি বা মেথডের একসেস পাওয়া যায় ।

প্রপার্টি

  • ক্লাসের মধ্যের ভ্যারিয়েবলকে প্রপার্টি বলা হয় ।

মেথড

  • ক্লাসের মধ্যের ফাংশনকে মেথড বলা হয় ।

চাইল্ড ক্লাস

  • মুল ক্লাসের বর্ধিত ক্লাস যা মুল ক্লাসের সব বৈশিষ্ট্য বহন করে ।
  • extends কিওয়ার্ড দিয়ে চাইল্ড ক্লাস তৈরি করা হয় ।

একসেস মডিফায়ার ( পাবলিক, প্রটেকটেড, প্রাইভেট )

  • পাবলিক — ক্লাসের ভিতরে এবং বাইরে যে কোন জায়গা থেকে ক্লাসের এলিমেন্ট গুলার একসেস পাওয়া যাবে
  • প্রটেকটেড — চাইল্ড কাস থেকে প্যারেন্ট ক্লাসের এলিমেন্ট গুলার একসেস পাওয়া যাবে
  • প্রাইভেট — শুধু মাত্র প্যারেন্ট ক্লাসের মধ্যেই এলিমেন্ট গুলার একসেস থাকবে । বাইরে থেকে কোথাও এলিমেন্ট গুলা ব্যাবহার করা যাবে না ।

ঊদাহরন — আপনার বাবা যে বাজার করতেসে সেটা বাসার সবার জন্য ( আপনি, চাচা, মামা, কাজের লোক ) । সবাই এই বাজার খেতে পারবে । বাজার পাবলিক । আপনার বাবার সম্পত্তি কিন্তু সবাই পাবে না । তার সন্তান হওয়ায় শুধু আপনি সেই সম্পত্তি পাবেন । সম্পত্তি প্রটেকটেড । আপনার বাবা যে আন্ডারওয়্যার পরেন সেটা কিন্তু বাসার কেউ ব্যাবহার করতে পারবে না । এমনকি আপনি তার সন্তান হয়েও পারবেন না । আন্ডারওয়্যার প্রাইভেট ।

ইনহেরিটেন্স

  • চাইল্ড ক্লাস প্যারেন্ট ক্লাসের সকল বৈশিষ্ট্য বহন করার প্রক্রিয়াটিকে ইনহেরিটেন্স বলা হয় ।

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

  • স্ক্রিপ্টের এক একটা অংশকে এমন ভাবে রাখা হয় যেন একটা অংশ অন্য আরেকটি দ্বারা প্রভাবিত না হতে পারে ।

পলিমরফিজম

  • পলি ( অনেক ) মরফিজম( ফর্ম ) অর্থাৎ একই জিনিসের অনেক গুলা রুপ ।
  • একই নামের ফাংশন ভিন্ন ভিন্ন কাজ করবে তাদের প্যারামিটার এর উপর নির্ভর করে ।

বিঃ দ্রঃ ইনহেরিটেন্স , এনক্যাপসুলেশন এবং পলিমরফিজম এগুলো অবজেক্ট ওরিয়েন্টেডের বেসিক তিনটি বিষয় ।

কন্সট্রাক্টর

  • একটি বিশেষ মেথড যা ক্লাসকে instantiation করার সময় অর্থাৎ অবজেক্ট তৈরি করার সময় অটোমেটিক এক্সিকিউট হবে । অন্যান্য মেথডের মত একে কল করার দরকার নাই ।

স্ট্যাটিক মেথড এবং প্রোপার্টি

  • মেথড বা প্রোপার্টির আগে static কিওয়ার্ড দিয়ে শুরু করতে হবে ।
  • স্ট্যাটিক মেথড বা প্রোপার্টিতে একসেস করার জন্য কোন অবজেক্ট তৈরি করার দরকার হয় না ।
  • ক্লাসের নামের পাশে স্কোপ রেজুলেশন অপারেটর ( : : ) ব্যবহার করে যে কোন জায়গা থেকে এর একসেস পাওয়া যাবে । যেমনঃ PlayerClass: :playerName
  • ক্লাসের মধ্যে স্ট্যাটিক মেথড বা প্রোপার্টি একসেস করার জন্য self: : ব্যবহার করতে হবে ।

মেথড ওভাররাইডিং

  • প্যারেন্ট ক্লাসের কোন মেথডকে চাইল্ড ক্লাসে মডিফাই করা ।
  • প্যারেন্ট ও চাইল্ড ক্লাসে মেথডের প্যারামিটার একই থাকবে ।

মেথড ওভারলোডিং

  • ক্লাসের মধ্যে একই নামের একাধিক মেথড থাকবে
  • মেথডের প্যারামিটার গুলো ভিন্ন ভিন্ন হবে ।

ইন্টারফেস ক্লাস

  • Class এর বদলে Interface লিখতে হবে ।
  • ইন্টারফেস ক্লাস কে সরাসরি instantiate করা যায় না অর্থাৎ অবজেক্ট তৈরি করা যায় না ।
  • ক্লাসের মধ্যে শুধু মেথড গুলার নাম লেখা থাকবে ।
  • ক্লাসের মেথড বডিতে কিছু থাকবে না ।
  • চাইল্ড ক্লাসের মেথড বডিতে প্যারেন্ট ক্লাসের মেথড ওভাররাইড করা হবে ।
  • চাইল্ড ক্লাসে Extends এর বদলে Implements লিখতে হবে ।
  • মাল্টিপল ক্লাস কে একসাথে ইমপ্লিমেন্ট করা যায় ।

এবস্ট্রাক্ট ক্লাস

  • ইন্টারফেস ক্লাসের মত এবস্ট্রাক্ট ক্লাসকেও সরাসরি instantiate করা যায় না অর্থাৎ অবজেক্ট তৈরি করা যায় না।
  • ক্লাসের আগে abstract লিখতে হবে ।
  • চাইল্ড ক্লাস কে instantiate করা যায় ।
  • ক্লাসের মেথড বডিতে কিছু থাকতে পারে আবার নাও থাকতে পারে ।

নেমস্পেস

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

    Shakil Zaman

    Written by

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade