ফাংশন ও অপারেটর ওভারলোডিং |নিবন্ধন ICT লিখিত পর্ব ৫.২

By | February 29, 2020

অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর বিষয়ে শিক্ষক নিবন্ধনের আজকের পর্বে আপনাদের সকলকে স্বাগতম। আজকের বিষয় ফাংশন ও অপারেটর ওভারলোডিং।

এটি সিলেবাসের পঞ্চম অধ্যায় অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর দ্বিতীয় পর্ব। আগের পর্ব দেখতে পাবেন নিচের লিংক থেকে:

অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং | ICT লিখিত পর্ব ৫.১

এই অধ্যায়ের সিলেবাসটা দেখে নেয়া যাক

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

শিক্ষক নিবন্ধনের সকল পোস্ট পেতে এখানে ক্লিক করুন।

ফাংশন ও অপারেটর ওভারলোডিং

Function Overloading (ফাংশন ওভারলোডিং): OOP এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হলো Function Overloading. এই প্রক্রিয়ায় একই নামের একাধিক ফাংশন ব্যবহার করা যায়. এক্ষেত্রে parameter পরিবর্তন করে Function Overloading করা যায়।

অর্থাৎ একই নামে ফাংশন হবে তবে শুধুমাত্র প্যারামিটার পরিবর্তন করে আমরা আলাদা ফাংশন হিসেবে ব্যবহার করতে পারি।

এ বিষয়ে বিস্তারিত বুঝতে গেলে আমার মনে হয় নিচের জাভা প্রোগ্রামটি সহায়তা করতে পারে:

public class FuncOverload {
	
	public void disp(char c) {
		System.out.println(c);
	}
	
	public void disp(char c, int num) {
		System.out.println(c + " " + num);
	}

	public static void main(String[] args) {
		FuncOverload test = new FuncOverload();
		test.disp('a');
		test.disp('a', 23);

	}

}

Operator Overloading (অপারেটর ওভারলোডিং): operator overloading এর মাধ্যমে কোন operator এর ক্ষমতা বাড়িয়ে দেয়া যায়।

অপারেটর ওভারলোডিং বিস্তারিতভাবে বোঝার জন্য আমরা সি++ ল্যাঙ্গুয়েজে একটি কোড দেখবো যাতে করে একটি অপারেটর এর ক্ষমতা বৃদ্ধি করা হয়েছে:

#include<iostream>
using namespace std;
	Class Test{
	Private:
		Int num;
	Public:
		Test(): num(8){
		    Void operator ++(){
	                Num = num+2;
                }
Void print(){
	Cout << “the count is: “<<num;
        }
    }
}

	Int main(){
		Test tt;
		++tt;
		tt.print();
}

Output: the count is: 10

অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর মূল তিনটি বিষয়

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

ইনহেরিটেন্স:

//Inheritest.java
public class Inheritest {

	public static void main(String[] args) {
		Yamaha R15 = new Yamaha("R15 V3", 525000, 149);
		
		System.out.println(R15.getModel());
		System.out.println(R15.getPrice());
		System.out.println(R15.getCC());

	}

}
-------------------------------------------
//Bike.java

public class Bike {
	
	private String model;
	private int price;
	private int cc;
	
	public Bike(String model, int price, int cc) {
		this.model = model;
		this.price = price;
		this.cc = cc;
	}
	
	public String getModel() {
		return model;
	}
	
	public int getPrice() {
		return price;
	}
	
	public int getCC() {
		return cc;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
-------------------------------------------
//Yamaha.java

public class Yamaha extends Bike {
	
	public Yamaha(String name, int cc, int price) {
		super(name, cc, price);
	}
	
	

	public static void main(String[] args) {
		

	}

}
------------------------

উপরের তিনটি ফাইল রান করাতে পারলে ইনহেরিটেন্স সম্পর্কে সম্পূর্ণ ধারণা পেয়ে যাবেন বলে আশা রাখি।

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

public class Encap {
	
	private String name;
	private int age;
	
	public int getAge() {
		return age;
	}
	
	public String getName() {
		return name;
	}
	
	
	public void setAge(int newAge) {
		age = newAge;
	}
	
	public void setName(String newName) {
		name = newName;
	}

	public static void main(String[] args) {
		Encap encap = new Encap();
		encap.setName("Sudip");
		encap.setAge(75);
		
		System.out.println("Name: " + encap.getName());
		System.out.println("Age: " + encap.getAge());
	}

}

আমরা একটু বোঝার চেষ্টা করি এখানে কি করা হয়েছে। এখানে উপরে শুরুর দিকে দুইটা প্রাইভেট স্ট্রিং নিয়ে আমরা পাবলিক ফাংশনে কোড দুইটি এক্সিকিউট করাতে পেরেছি। এ বিষয়ে বিস্তারিত ভাবে বুঝতে গেলে আমার মনে হয় আপনারা ভিডিওটি ফলো করতে পারেন।

পলিমরফিজম

পলিমরফিজম হলো একই অবজেক্ট এর বিভিন্ন রুপ। এটি আমরা ফাংশন ওভারলোডিং এ দেখিয়েছি তাই আর নতুন করে দেখানো কিছু নেই।

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

পোস্টগুলো পড়ার সাথে সাথে সাবস্ক্রাইব করে রাখতে পারেন আমার iSudip ইউটিউব চ্যানেল যেখানে এ সকল বিষয়সহ অন্যান্য সকল বিষয়ে নিয়মিত আপডেট প্রদান করা হচ্ছে। ভালো থাকবেন দেখা হবে পরের পোস্টে।

Facebook Comments