CodeGym /Java Blog /এলোমেলো /জাভাতে সুপার কীওয়ার্ড
John Squirrels
লেভেল 41
San Francisco

জাভাতে সুপার কীওয়ার্ড

এলোমেলো দলে প্রকাশিত
সুপার কীওয়ার্ডটি বিভিন্ন পরিস্থিতিতে ব্যবহৃত হয় এই পোস্টটি শুরু করার আগে আমরা আপনাকে আরও ভাল বোঝার জন্য জাভাতে উত্তরাধিকার সম্পর্কে জানতে উত্সাহিত করি।

জাভাতে সুপার কীওয়ার্ড কী?

সুপার হল একটি কীওয়ার্ড যা সুপারক্লাসের ওভাররাইড করা পদ্ধতিগুলিকে ব্যবহার করতে এবং সেইসাথে সুপারক্লাসের লুকানো ক্ষেত্রগুলিকে উল্লেখ করতে ব্যবহার করা যেতে পারে।

কেন এবং কখন সুপার কীওয়ার্ড ব্যবহার করবেন?

জাভা সুপার কীওয়ার্ডের তিনটি সুস্পষ্ট ব্যবহার রয়েছে।
  1. অভিভাবক শ্রেণীর ডেটা সদস্যদের অ্যাক্সেস করুন যখন শিশু শ্রেণিতে একই নামের ডেটা সদস্য থাকে।
  2. চাইল্ড ক্লাসে প্যারেন্ট ক্লাসের ডিফল্ট বা প্যারামিটারাইজড কনস্ট্রাক্টরকে কল করুন ।
  3. শিশু ক্লাসে অভিভাবক শ্রেণীর পদ্ধতিগুলিকে কল করুন যদি সন্তানের ওভাররাইড করা পদ্ধতি থাকে।
আসুন উদাহরণের সাহায্যে উপরের তিনটি ক্ষেত্রের সবকটি বুঝি।

উদাহরণ 1 - পিতামাতার ডেটা সদস্যদের অ্যাক্সেস করুন

উদাহরণ 1 চিত্রিত করে কিভাবে গাড়ি -টাইপ চাইল্ড ক্লাসে যানবাহন শ্রেণীর বৈশিষ্ট্য বা ডেটা সদস্যদের অ্যাক্সেস করা যেতে পারে । আপনি ভালভাবে বুঝতে নীচের স্নিপেট চালানো নিশ্চিত করুন.

class Vehicle {

	String name = "vehicle";
}

class Car extends Vehicle {

	String name = "car";

	public void printMyName() {

		System.out.println(name);
	}

	public void printParentName() {

		// use super keyword to access 
		// parent's data member / attribute
		System.out.println(super.name);
	}

	public static void main(String[] args) {

		Car myCar = new Car();
		System.out.print("My Car's Name: "); 
		myCar.printMyName();
		
		// printing the parent's name 
		// using the super keyword 
		System.out.print("My Parent Vehicle's Name: "); 
		myCar.printParentName();
	}
}
আউটপুট
আমার গাড়ির নাম: গাড়ি আমার পিতামাতার যানবাহনের নাম: গাড়ি

উদাহরণ 2 - শিশু শ্রেণিতে অভিভাবকদের কনস্ট্রাক্টর অ্যাক্সেস করুন

স্পষ্টভাবে সুপার() কল করা আপনাকে শিশু শ্রেণিতে প্যারেন্ট ক্লাসের ডিফল্ট বা প্যারামিটারাইজড কনস্ট্রাক্টর উভয়ই অ্যাক্সেস করতে দেয়। এখানে প্যারামিটারাইজড কনস্ট্রাক্টরের একটি উদাহরণ। প্যারেন্ট অর্থাৎ শেপ ক্লাসের কনস্ট্রাক্টরকে বলা হয় ( সুপার() ব্যবহার করে ) চাইল্ড অর্থাৎ ত্রিভুজ ক্লাসে অ্যাট্রিবিউট সেট করা। নিজের জন্য আউটপুট পরীক্ষা করতে নীচের প্রোগ্রামটি চালান।

public class Shape {

	String name;

	public Shape(String n) {

		System.out.println("Shape() parameterized constructor called!");
		name = n;
	}
}

class Triangle extends Shape {
	
	int sides = 3;
	String color;

	public Triangle(String n, String c) {
		
		// The super keyword calls the parameterized 
		// constructor of the parent (Shape) with 
		// 'n' as a parameter 
		super(n);
		
		System.out.println("Triangle() parameterized constructor called!");
		this.color = c;
	}

	public static void main(String[] args) {

		Triangle myTriangle = new Triangle("Triangle Alpha", "Yellow");
		
		System.out.println(myTriangle.name);
		System.out.println(myTriangle.color);
	}
}
আউটপুট
শেপ() প্যারামিটারাইজড কনস্ট্রাক্টর বলা হয়! ত্রিভুজ() প্যারামিটারাইজড কনস্ট্রাক্টর বলা হয়! ত্রিভুজ আলফা হলুদ
দ্রুত চ্যালেঞ্জ : আপনার শেখার পরীক্ষা করার জন্য ডিফল্ট কনস্ট্রাক্টর ব্যবহার করে উপরের প্রোগ্রামটি পুনরায় ডিজাইন করুন। এছাড়াও, দেখুন কিভাবে super() super(arg) থেকে আলাদা ।

উদাহরণ 3 - শিশু শ্রেণিতে পিতামাতার ওভাররাইড করা পদ্ধতি অ্যাক্সেস করুন৷

উদাহরণ 3 দেখায় কিভাবে আপনি পিতামাতার ক্লাসের পদ্ধতিগুলি অ্যাক্সেস করতে পারেন যা শিশু শ্রেণিও সংজ্ঞায়িত করে। নীচের প্রোগ্রামে প্যারেন্ট ক্লাস সাউন্ড একটি মেথড voice() সংজ্ঞায়িত করে । চাইল্ড ক্লাস ড্রামেরও একই নামের একটি পদ্ধতি আছে যেমন voice() । এর মানে মেথড ভয়েস সাবক্লাস দ্বারা ওভাররাইড করা হয়েছে। শিশু শ্রেণিতে অভিভাবক শ্রেণীর পদ্ধতিগুলি ব্যবহার করার জন্য সুপার কীওয়ার্ডটি কীভাবে প্রয়োজনীয় তা শিখতে নীচের প্রোগ্রামটি চালান ।

public class Sound {

	public void voice() {
		System.out.println("Play sound!");
	}
}

class Drum extends Sound {

	public void voice() {
		System.out.println("Play drums!");
	}

	public void play() {

		// The super keyword calls the 
		// voice() method of the parent 
		super.voice();
		voice();
	}
	
	public static void main(String[] args) {

		Drum myDrum = new Drum();
		myDrum.play();
	}
}
আউটপুট
শেপ() প্যারামিটারাইজড কনস্ট্রাক্টর বলা হয়! ত্রিভুজ() প্যারামিটারাইজড কনস্ট্রাক্টর বলা হয়! ত্রিভুজ আলফা হলুদ

উপসংহার

এই পোস্টের শেষে, আমরা আশা করি আপনি জাভাতে সুপার কীওয়ার্ডের কাজ বুঝতে সক্ষম হবেন। আমরা আপনাকে অনুশীলনের মাধ্যমে কোডিং শিখতে উত্সাহিত করি। অনুশীলন যুক্তিবিদ্যা বিল্ডিং শেখার চূড়ান্ত চাবিকাঠি হিসাবে. যখনই আপনি আটকে যাবেন এই পোস্টটি আপনাকে স্বাগত জানাবে। ততক্ষণ, খুশি শেখা!
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION