Properties, Methods, এবং Inheritance

Object-Oriented Programming in M-Files (অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং) - ম্যাটল্যাব এম-ফাইল (Matlab M-Files) - Computer Programming

252

অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর মূল ধারণাগুলির মধ্যে Properties, Methods, এবং Inheritance অত্যন্ত গুরুত্বপূর্ণ। এই ধারণাগুলির মাধ্যমে কোডের পুনঃব্যবহারযোগ্যতা, মডুলারিটি এবং সহজে পরিচালনা করা যায়। ম্যাটল্যাবেও OOP এর ধারণাগুলি ব্যবহার করা যায় এবং এই ফিচারগুলো প্রোগ্রামিং কোডকে আরও কার্যকরী ও মডুলার করে তোলে।

১. Properties (প্রোপার্টি)

Properties হল ক্লাসের একটি অংশ যা অবজেক্টের state বা data ধারণ করে। সাধারণত প্রোপার্টি গুলি ক্লাসের অ্যাট্রিবিউট (attribute) হিসেবে কাজ করে এবং অবজেক্টের মান বা অবস্থা নির্ধারণ করে।

বৈশিষ্ট্য:

  • প্রোপার্টি হল ক্লাসের ইনস্ট্যান্স ভেরিয়েবল, যা অবজেক্টের ডেটা ধারণ করে।
  • প্রোপার্টি সাধারণত ক্লাসের ভিতরে properties ব্লকের মধ্যে ডিফাইন করা হয়।

উদাহরণ:

classdef Car
    properties
        make    % গাড়ির প্রস্তুতকারক
        model   % গাড়ির মডেল
        year    % গাড়ির বছর
    end
    
    methods
        function obj = Car(make, model, year)
            obj.make = make;
            obj.model = model;
            obj.year = year;
        end
    end
end

এখানে, Car ক্লাসে তিনটি প্রোপার্টি (make, model, year) ডিফাইন করা হয়েছে, যা গাড়ির তথ্য ধারণ করে।

অবজেক্ট তৈরি করা:

myCar = Car('Toyota', 'Corolla', 2020);
disp(myCar.make);    % Toyota
disp(myCar.model);   % Corolla

২. Methods (মেথড)

Methods হল ক্লাসের ফাংশন বা অ্যাকশন যা ক্লাসের প্রোপার্টি বা স্টেট ম্যানিপুলেট করতে ব্যবহৃত হয়। মেথডগুলি ক্লাসের সদস্য হিসেবে কাজ করে এবং ক্লাসের ইনস্ট্যান্সের উপর কাজ করে।

বৈশিষ্ট্য:

  • মেথড সাধারণত ক্লাসের methods ব্লকের মধ্যে ডিফাইন করা হয়।
  • মেথডগুলি ক্লাসের প্রোপার্টির উপর কার্যকর হতে পারে, অর্থাৎ ইনস্ট্যান্সের প্রোপার্টির মান পরিবর্তন করতে পারে।

উদাহরণ:

classdef Car
    properties
        make
        model
        year
    end
    
    methods
        function obj = Car(make, model, year)
            obj.make = make;
            obj.model = model;
            obj.year = year;
        end
        
        function displayInfo(obj)
            disp(['Car Make: ', obj.make]);
            disp(['Car Model: ', obj.model]);
            disp(['Car Year: ', num2str(obj.year)]);
        end
    end
end

এখানে displayInfo একটি মেথড, যা গাড়ির তথ্য প্রদর্শন করবে।

মেথড কল করা:

myCar = Car('Toyota', 'Corolla', 2020);
myCar.displayInfo();

৩. Inheritance (ইনহেরিটেন্স)

Inheritance হল একটি OOP কনসেপ্ট যেখানে একটি ক্লাস অন্য একটি ক্লাস থেকে প্রোপার্টি এবং মেথড উত্তরাধিকারসূত্রে পায়। এতে কোড পুনঃব্যবহারযোগ্যতা বাড়ে এবং নতুন ক্লাস তৈরি করার সময় পূর্ববর্তী ক্লাসের বৈশিষ্ট্যগুলোকে উত্তরাধিকারীভাবে ব্যবহার করা যায়।

বৈশিষ্ট্য:

  • একটি ক্লাস superclass বা parent class থেকে অন্য ক্লাস subclass বা child class প্রোপার্টি এবং মেথড গ্রহণ করে।
  • একটি সাবক্লাস মূল ক্লাসের মেথড এবং প্রোপার্টি ব্যবহার করতে পারে এবং এগুলিকে কাস্টমাইজ বা রিডিফাইন করতে পারে।

উদাহরণ:

classdef Vehicle
    properties
        make
        model
    end
    
    methods
        function obj = Vehicle(make, model)
            obj.make = make;
            obj.model = model;
        end
        
        function displayInfo(obj)
            disp(['Vehicle Make: ', obj.make]);
            disp(['Vehicle Model: ', obj.model]);
        end
    end
end

classdef Car < Vehicle
    properties
        year
    end
    
    methods
        function obj = Car(make, model, year)
            obj@Vehicle(make, model);  % সুপারক্লাসের কনস্ট্রাক্টর কল করা
            obj.year = year;
        end
        
        function displayInfo(obj)
            displayInfo@Vehicle(obj);  % সুপারক্লাসের মেথড কল করা
            disp(['Car Year: ', num2str(obj.year)]);
        end
    end
end

এখানে, Car ক্লাসটি Vehicle ক্লাস থেকে ইনহেরিট করেছে। Car ক্লাসের মধ্যে Vehicle ক্লাসের প্রোপার্টি এবং মেথড ব্যবহার করা হয়েছে।

ইনহেরিটেন্স ব্যবহার:

myCar = Car('Toyota', 'Corolla', 2020);
myCar.displayInfo();

এটি Car ক্লাসের displayInfo মেথড কল করবে, যা প্রথমে Vehicle ক্লাসের displayInfo মেথড কল করবে এবং পরে Car ক্লাসের অতিরিক্ত তথ্য প্রদর্শন করবে।


সারাংশ

  • Properties (প্রোপার্টি): ক্লাসের স্টেট বা ডেটা ধারণ করে, যেগুলি অবজেক্টের বৈশিষ্ট্য বা অ্যাট্রিবিউট হিসেবে কাজ করে।
  • Methods (মেথড): ক্লাসের ফাংশন বা অ্যাকশন যা প্রোপার্টি ম্যানিপুলেট বা অবজেক্টের আচরণ নিয়ন্ত্রণ করে।
  • Inheritance (ইনহেরিটেন্স): একটি ক্লাস অন্য একটি ক্লাস থেকে প্রোপার্টি এবং মেথড উত্তরাধিকারসূত্রে গ্রহণ করে, যা কোড পুনঃব্যবহারযোগ্যতা বৃদ্ধি করে।

এই তিনটি ধারণা OOP এর মূল স্তম্ভ এবং এগুলি ব্যবহার করে আরও মডুলার, ক্লিন এবং পুনঃব্যবহারযোগ্য কোড তৈরি করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...