অ্যাবস্ট্রাকশন (Abstruction)
অ্যাবস্ট্রাকশন (Abstruction)
অর্থ অবাস্তব। প্রোগ্রামিং এ অ্যাবস্ট্রাকশন বলতে বোঝায়, প্রোগ্রামের কমপ্লেক্সিটি কে আড়াল করে ব্যবহার কারির সামনে শুধুমাত্র গুরুত্বপূর্ণ ফিচার গুলো উপস্থাপন করা। যেকোন সিস্টেমের পেছনের কাজ গুলো সাধারণ ব্যবহারকারীর জানার প্রয়োজন থাকে না। পেছনের কঠিন সব মেকানিজম লুকিয়ে ব্যবহারকারীর জন্য সহজতর উপায়ে সিস্টেম টাকে উন্মুক্ত করে দেওয়ার পদ্ধতি ই হল অ্যাবস্ট্রাকশন এখানে ব্যবহারকারী এমন একটা ইন্টারফেসের সাথে কমিনিকেশন করে যার মূল কাজ গুলো প্রকৃত পক্ষে হচ্ছে অন্য কোন নিয়মে-অন্য কোথাও। অর্থাৎ, ব্যবহারকারী একটা অবাস্তব মাধ্যমের সাহায্য সিস্টেম টা ব্যবহার করছে। তাই একে অ্যাবস্ট্রাকশন বলে।
অ্যাবস্ট্রাকশন ক্লাস হল এক বা একাধিক অ্যাবস্ট্রাক্ট মেথড নিয়ে গঠিত ক্লাস যার মেথড গুলো সম্পূর্ন রুপে ইমপ্লিমেন্টেড থাকে না। অ্যাবস্ট্রাক্ট ক্লাসের মেথড ইমপ্লিমেন্টেশনের জন্য ওই ক্লাসের সাব ক্লাস তৈরি করতে হয়। পাইথনে বিল্ট-ইন কোন অ্যাবস্ট্রাক্ট বেজ ক্লাস নেই তবে (Abstract Base Classes ) abc মডিউলের মাধ্যমে প্রোগ্রামে অ্যাবস্ট্রাকশন ব্যবহার করা যায়।
from abc import ABC, abstractmethod
class Vehicle(ABC):
@abstractmethod
def start_engine(self):
pass
class Car(Vehicle) :
def start_engine(self):
print('start car')
class Motorcycle(Vehicle) :
def start_engine(self):
print('start motorcycle')
car = Car()
motorcycle = Motorcycle()
car.start_engine()
motorcycle.start_engine()Last updated