প্যারামিটারাইজড বেইজ কনস্ট্রাকটর (Parameterized Base Constructor)
class Animal { private String species; // Parameterized constructor in the base class public Animal(String species) { this.species = species; System.out.println(“Animal constructor invoked with species: ” + species); } public void displaySpecies() { System.out.println(“Species: ” + species); } } class Dog extends Animal { private String breed; // Constructor in the derived class public Dog(String species, String breed) { super(species); // Calling the base class constructor this.breed = breed; System.out.println(“Dog constructor invoked with breed: ” + breed); } public void displayBreed() { System.out.println(“Breed: ” + breed); } } class Program { public static void main(String[] args) { Dog labrador = new Dog(“Canine”, “Labrador”); labrador.displaySpecies(); // Calling a method from the base class labrador.displayBreed(); // Calling a method from the derived class } }
using System; class Animal { private string species; // Parameterized constructor in the base class public Animal(string species) { this.species = species; Console.WriteLine(“Animal constructor invoked with species: ” + species); } public void DisplaySpecies() { Console.WriteLine(“Species: ” + species); } } class Dog : Animal { private string breed; // Constructor in the derived class public Dog(string species, string breed) : base(species) { // Calling the base class constructor this.breed = breed; Console.WriteLine(“Dog constructor invoked with breed: ” + breed); } public void DisplayBreed() { Console.WriteLine(“Breed: ” + breed); } } class Program { static void Main(string[] args) { Dog labrador = new Dog(“Canine”, “Labrador”); labrador.DisplaySpecies(); // Calling a method from the base class labrador.DisplayBreed(); // Calling a method from the derived class } }
Output:
//Output (আউটপুট) Animal constructor invoked with species: Canine Dog constructor invoked with breed: Labrador Species: Canine Breed: Labrador
Link: https://dotnetfiddle.net/djFNk0
এখানে সাব ক্লাস Dog থেকে base(species) এর মাধ্যমে প্যারেন্ট ক্লাস Animal এর প্যারামিটারাইজড কনস্ট্রাক্টর কল করা হয়েছে। মেইন মেথড থেকে নতুন অবজেক্ট labrador তৈরি করার সময় species এর ভ্যালু “Canine” পাঠানো হয়েছে । যেহেতু প্যারেন্ট ক্লাসের কনস্ট্রাক্টর আগে কল হয় তাই আউটপুটে প্রথমে “Animal constructor invoked with species: Canine“ দেখা যাচ্ছে । এরপর চাইল্ড ক্লাসের কনস্ট্রাক্টর কল হয়েছে।