Vivasoft-logo

ফিল্ড এবং মেথড

আমরা কিন্তু ইতোমধ্যেই ফিল্ড আর মেথড সম্পর্কে ধারণা পেয়েছি। জাভা কিংবা সি#, উভয় ল্যাঙ্গুয়েজেই সাধারণত নিম্নোক্তভাবে ফিল্ড এবং মেথড ডিক্লেয়ার করা হয়ঃ

ফিল্ড

AccessModifier DataType FieldName;

একটি ক্লাসের ফিল্ডগুলোকে, আমরা কিছু “Special Box” এর মত চিন্তা করতে পারি, যেখানে সে ক্লাসের সাথে সম্পর্কিত বিভিন্ন তথ্য রাখা যায়। যেমন উপরের SmartPhone ক্লাসের জন্যে আমরা Model, Brand ইত্যাদি ফিল্ড রেখেছি যা মূলত ঐ ক্লাসের কিছু সাধারণ তথ্য আমাদের কাছে প্রকাশ করে।

field

মেথড

AccessModifier ReturnType MethodName (DataType1 Parameter1,
                                      DataType2 Parameter2,
                                      …) {
	// Method Body
}

একইভাবে, মেথড বলতে একটি ক্লাসের actions গুলোকে বোঝায়। একটি ক্লাস, নির্দিষ্ট কি কি কাজ কিভাবে করে, সে ইন্সট্রাকশানগুলোর সেট-ই হল মেথড। Call, Browse ইত্যাদির মাধ্যমে আমরা SmartPhone ক্লাসের Call() করতে পারা, Browse() করতে পারার সক্ষমতা জানতে পারি।

method

এক কথায়, একটি ক্লাসের Attribute গুলোই ফিল্ড এবং Behavior গুলোই মূলত মেথড।
পূর্বের উদাহারণে ফিরে যাই……

উদাহরণঃ

class Car {
    public String brand;        // Field
    public int maxSpeed;        // Field
    // Method
    public void start() {
        System.out.println(brand + ” is going at ” + maxSpeed + ” KM/H!”);
    }
    // Method
    public void stop() {
        System.out.println(brand + ” is stopped.”);
    }
}
class Car {
    public string Brand;        // Field
    public int MaxSpeed;        // Field
    // Method
    public void Start() {
        Console.WriteLine(Brand + ” is going at ” + MaxSpeed + ” KM/H!”);
    }
    // Method
    public void Stop() {
        Console.WriteLine(Brand + ” is stopped.”);
    }
}

maxSpeed এবং brand ফিল্ড দুটি মূলত Car ক্লাসের দুটি ভিন্ন অবজেক্ট ford, এবং opel এর জন্য ভিন্ন ভিন্ন বৈশিষ্ট্য প্রদান করে, এবং Start(), Stop() মেথডগুলো অবজেক্ট দুটির জন্য ভিন্ন ভিন্ন বৈশিষ্ট্যের মাধ্যমে একই কাজকে সম্পাদনা করতে পারে। কমেন্টলাইনের মাধ্যমে Car ক্লাসের ফিল্ড গুলো নির্দেশিত হয়েছে।