স্ট্রাকচার অনেকটাই ক্লাসের মতোই , আমরা এখন শুধু সাদৃশ্য নিয়েই কথা বলবো , চলো কোড দেখে আসি ------------------------------
using System;
public class student
{
public string name;
public int id;
public student(string NAME,int ID)
{
this.id = ID;
this.name = NAME;
}
public void printDetails()
{
Console.WriteLine("Student name = {0} , ID Number = {1} ",this.name,this.id);
}
}
public class Program
{
public static void Main()
{
student c = new student("Joy", 101);
c.printDetails();
Console.ReadKey();
}
}
এটা নরমাল একটা ক্লাসের উদাহরণ , এবার চলো দেখি - উপরের কোডে শুধু class কিওয়ারড এর জায়গায় , struct কিওয়ারড ইউজ করলেই আমাদের স্ট্রাকচার এর কাজ ইমপ্লিমেন্টন হয়ে যাবে ।।
চলো ,নীচে দেখে আসি -------------
using System;
public struct student
{
public string name;
public int id;
public student(string NAME,int ID)
{
this.id = ID;
this.name = NAME;
}
public void printDetails()
{
Console.WriteLine("Student name = {0} , ID Number = {1} ",this.name,this.id);
}
}
public class Program
{
public static void Main()
{
student c = new student("Joy", 101);
c.printDetails();
Console.ReadKey();
}
}
তাহলে , আমরা বুঝতেই পারছি ক্লাস এর কাজগুলো ঠিকঠাকভাবেই স্ট্রাক্টচার দিয়েও করতে পারছি ।। এমনকি , সিনট্যাক্স'গুলোও একই , এমনকি ক্লাসের মতো প্রোপার্টি ও ইউজ করতে পারবো এই স্ট্রাকচার ইউজ করে ।। মেথোড , কন্সট্রাক্টর , প্রোপার্টি এই সব ক্লাসের বিহেভিয়ার'গুলো হুবহু ইউজ করতে পারছি , স্ট্রাকচারে ।।
আচ্ছা , এখন আসি আরেকটি কথা, - student c = new student("Joy", 101); আমরা যেমন , student অব্জেক্ট ক্রিয়েট করে এর মাধ্যমে প্যারামিটার হিসেবে - NAME & ID পাঠিয়েছি , আমাদের কিন্তু আরেকটু সহজভাবে এই কাজটা করতে পারি ।। চলো দেখে আসি ,
using System;
public struct student
{
public string name;
public int id;
public student(string NAME,int ID)
{
this.id = ID;
this.name = NAME;
}
public void printDetails()
{
Console.WriteLine("Student name = {0} , ID Number = {1} ",this.name,this.id);
}
}
public class Program
{
public static void Main()
{
student c = new student()
{
name="JOY",
id=101
};
c.printDetails();
Console.ReadKey();
}
}
প্রোগ্রামের ভাষায় আমরা , student c = new student()
{
name="JOY",
id=101
};
ইউজ করলাম , এটাকে অবজেক্ট ইনিশিয়ালাইজেশন বলা হয় ।। আর , এই সিনট্যাক্স কে অবজেক্ট ইনিশিয়ালাইজার সিন্ট্যাক্স বলা হয় ।।
তাহলে আমরা , ক্লাসের মতোই স্ট্রাকটচারে - ক্লাস ফিল্ড , প্রোপারটিস , মেথোড ইত্যাদি ইউজ করতে পাচ্ছি , একই সিনট্যাক্স-এ ।। এতক্ষণ এর আলোচোনা , শুনে - অনেকেই ভাববে তাহলে স্ট্রাকট আর ক্লাসের মধ্যে তফাত কি ??? কিন্তু এদের মধ্যেও অনেক তফাত আছে , সেটা পরে আলোচনা করছি --------------------------------------------------------- আজকে এইটুকুই
using System;
public class student
{
public string name;
public int id;
public student(string NAME,int ID)
{
this.id = ID;
this.name = NAME;
}
public void printDetails()
{
Console.WriteLine("Student name = {0} , ID Number = {1} ",this.name,this.id);
}
}
public class Program
{
public static void Main()
{
student c = new student("Joy", 101);
c.printDetails();
Console.ReadKey();
}
}
এটা নরমাল একটা ক্লাসের উদাহরণ , এবার চলো দেখি - উপরের কোডে শুধু class কিওয়ারড এর জায়গায় , struct কিওয়ারড ইউজ করলেই আমাদের স্ট্রাকচার এর কাজ ইমপ্লিমেন্টন হয়ে যাবে ।।
চলো ,নীচে দেখে আসি -------------
using System;
public struct student
{
public string name;
public int id;
public student(string NAME,int ID)
{
this.id = ID;
this.name = NAME;
}
public void printDetails()
{
Console.WriteLine("Student name = {0} , ID Number = {1} ",this.name,this.id);
}
}
public class Program
{
public static void Main()
{
student c = new student("Joy", 101);
c.printDetails();
Console.ReadKey();
}
}
তাহলে , আমরা বুঝতেই পারছি ক্লাস এর কাজগুলো ঠিকঠাকভাবেই স্ট্রাক্টচার দিয়েও করতে পারছি ।। এমনকি , সিনট্যাক্স'গুলোও একই , এমনকি ক্লাসের মতো প্রোপার্টি ও ইউজ করতে পারবো এই স্ট্রাকচার ইউজ করে ।। মেথোড , কন্সট্রাক্টর , প্রোপার্টি এই সব ক্লাসের বিহেভিয়ার'গুলো হুবহু ইউজ করতে পারছি , স্ট্রাকচারে ।।
আচ্ছা , এখন আসি আরেকটি কথা, - student c = new student("Joy", 101); আমরা যেমন , student অব্জেক্ট ক্রিয়েট করে এর মাধ্যমে প্যারামিটার হিসেবে - NAME & ID পাঠিয়েছি , আমাদের কিন্তু আরেকটু সহজভাবে এই কাজটা করতে পারি ।। চলো দেখে আসি ,
using System;
public struct student
{
public string name;
public int id;
public student(string NAME,int ID)
{
this.id = ID;
this.name = NAME;
}
public void printDetails()
{
Console.WriteLine("Student name = {0} , ID Number = {1} ",this.name,this.id);
}
}
public class Program
{
public static void Main()
{
student c = new student()
{
name="JOY",
id=101
};
c.printDetails();
Console.ReadKey();
}
}
প্রোগ্রামের ভাষায় আমরা , student c = new student()
{
name="JOY",
id=101
};
ইউজ করলাম , এটাকে অবজেক্ট ইনিশিয়ালাইজেশন বলা হয় ।। আর , এই সিনট্যাক্স কে অবজেক্ট ইনিশিয়ালাইজার সিন্ট্যাক্স বলা হয় ।।
তাহলে আমরা , ক্লাসের মতোই স্ট্রাকটচারে - ক্লাস ফিল্ড , প্রোপারটিস , মেথোড ইত্যাদি ইউজ করতে পাচ্ছি , একই সিনট্যাক্স-এ ।। এতক্ষণ এর আলোচোনা , শুনে - অনেকেই ভাববে তাহলে স্ট্রাকট আর ক্লাসের মধ্যে তফাত কি ??? কিন্তু এদের মধ্যেও অনেক তফাত আছে , সেটা পরে আলোচনা করছি --------------------------------------------------------- আজকে এইটুকুই
No comments:
Post a Comment