CodeGym /কোর্স /জাভা কোর /অবজেক্ট তৈরি করা: কনস্ট্রাক্টর কলের ক্রম

অবজেক্ট তৈরি করা: কনস্ট্রাক্টর কলের ক্রম

জাভা কোর
লেভেল 5, পাঠ 5
বিদ্যমান

"হ্যালো, অ্যামিগো! এখন আমি আপনাকে বলতে যাচ্ছি কিভাবে বস্তু তৈরি হয়।"

"এতে এত জটিলতার কি আছে, আঙ্কেল ঋষি? আপনি নতুন এবং ক্লাসের নাম লিখুন, সঠিক কনস্ট্রাক্টর নির্দেশ করুন, এবং আপনার কাজ শেষ!"

"এটা সত্য। কিন্তু আপনি যখন এটি করেন তখন বস্তুর ভিতরে কি হয়?"

"কি ঘটেছে?"

"এটিই ঘটে: বস্তুটি বিভিন্ন পর্যায়ে তৈরি হয়।"

1)  প্রথমত, সমস্ত ক্লাসের সদস্য ভেরিয়েবলের জন্য মেমরি বরাদ্দ করা হয়।

2)  তারপর বেস ক্লাস শুরু করা হয়।

3)  তারপর সমস্ত ভেরিয়েবলের মান নির্ধারণ করা হয়, যদি কোনো নির্দিষ্ট করা থাকে।

4)  অবশেষে, কনস্ট্রাক্টর বলা হয়।

"এটা খুব কঠিন মনে হচ্ছে না: প্রথমে ভেরিয়েবল, তারপর কনস্ট্রাক্টর।"

"আসুন দেখি কিভাবে এটি দুটি ক্লাস সহ একটি উদাহরণে কাজ করে:"

কোড বর্ণনা
class Pet
{
 int x = 5, y = 5; ←-
 int weight = 10; ←-

 Pet(int x, int y)
 {
  this.x = x; ←-
  this.y = y; ←-
 }
}
class Cat extends Pet
{
 int tailLength = 8; ←-
 int age;
 Cat(int x, int y, int age)
 {
  super(x, y); ←-
  this.age = age; ←-
 }
}
দুটি শ্রেণী ঘোষণা করুন: Pet(pet) এবং Cat(cat)।

ক্যাট ক্লাসে, আমরা বেস ক্লাসের কনস্ট্রাক্টরের কাছে একটি স্পষ্ট কল দেখতে পাই ।
এটি সর্বদা কন্সট্রাক্টরের প্রথম লাইনে থাকা উচিত।

মেমরি বরাদ্দ করার পরে যা হয় তা এখানে:
18  – বেস ক্লাসের কনস্ট্রাক্টরকে কল করুন।
3, 4  - পেটে ভেরিয়েবল শুরু করুন।
8, 9  – পেট কনস্ট্রাক্টরে কোডটি চালান।

তারপর ক্যাট ক্লাস শুরু করা শুরু হয়।
14 - ক্যাট
19-  এ ভেরিয়েবল শুরু করুন  - ক্যাট কনস্ট্রাক্টরে কোডটি কার্যকর করুন

public static void main(String[] args)
{
 Cat cat = new Cat (50, 50, 5);
}

"এটা একটু বিভ্রান্তিকর। কেন এটা এত জটিল?"

"এটা আসলে কঠিন নয় যদি আপনি জানেন যে আসলে কি ঘটছে:"

যদি একটি ক্লাসের কোনো কনস্ট্রাক্টর না থাকে, তাহলে একটি স্বয়ংক্রিয়ভাবে তৈরি হবে।

ডিফল্ট কনস্ট্রাক্টর
class Cat
{
 int x = 5;
 int y = 5;
}
class Cat
{
 int x = 5;
 int y = 5;
 public Cat() 
 {
 }
}

আপনি যদি বেস ক্লাস কনস্ট্রাক্টরকে কল না করেন তবে এটি স্বয়ংক্রিয়ভাবে কল করা হবে।

বেস ক্লাসের কনস্ট্রাক্টরের কল
class Pet
{
 public String name;
}
class Pet extends Object
{
 public String name;
 public Pet()
 {
  super();
 }
}
class Cat extends Pet
{
 int x = 5;
 int y = 5;
}
class Cat extends Pet
{
 int x = 5;
 int y = 5;
 public Cat()
 {
  super();
 }
}

সদস্য ভেরিয়েবলগুলি কনস্ট্রাক্টরে আরম্ভ করা হয়।

সদস্য ভেরিয়েবলের সূচনা
class Cat
{
 int x = 5;
 int y = 5;
}
class Cat
{
 int x;
 int y;
 public Cat()
 {
  super();
  this.x = 5;
  this.y = 5;
  }
}
আসলেই কি হয়
class Pet
{
 int x = 5, y = 5;
 int weight = 10;
 Pet(int x, int y)
 {
  this.x = x;
  this.y = y;
 }
}

class Cat extends Pet
{
 int tailLength = 8;
 int age;
 Cat(int x, int y, int age)
 {
  super(x, y);
  this.age = age;
 }
}
class Pet extends Object
{
 int x;
 int y;
 int weight;

 Pet(int x, int y)
 {
  //call of the base class's constructor
  super();
  //initialize variables
  this.x = 5;
  this.y = 5;
  this.weight = 10;
  //execute the constructor code
  this.x = x;
  this.y = y;
 }
}
class Cat extends Pet
{
 int tailLength;
 int age;
 Cat(int x, int y, int age)
 {
  //call of the base class's constructor
   super(x, y);
  //initialize variables
  this.tailLength = 8;
  //execute the constructor code
  this.age = age;
 }
}

"এখন এটা অনেক বেশি পরিষ্কার: প্রথমে বেস ক্লাস, তারপর কনস্ট্রাক্টরের বাইরে ভেরিয়েবল, তারপর কনস্ট্রাক্টর কোড।"

"শাবাশ, অ্যামিগো! এটাই তো!"

4
কাজ
জাভা কোর, লেভেল 5, পাঠ 5
লক করা আছে
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and assimilate some material. What's more, you combat laziness.
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION