Property Getters এবং Setters

Properties এবং Methods (প্রপার্টিস এবং মেথডস) - ভিজুয়াল বেসিক ডট নেট (VB.Net) - Computer Programming

323

VB.Net-এ Property Getters এবং Setters

Property Getters এবং Setters হল Encapsulation ধারণার অংশ, যা একটি ক্লাসের ভিতরের ডেটা (ফিল্ড) এর অ্যাক্সেস এবং নিয়ন্ত্রণ করতে ব্যবহৃত হয়। Properties হলো পাবলিক ফিল্ডের মতো, তবে এগুলোর মাধ্যমে ডেটার অ্যাক্সেস এবং পরিবর্তন সীমিত করা যায়। Property-এর মাধ্যমে আপনি একটি ক্লাসের প্রাইভেট ফিল্ডের মানের অ্যাক্সেস এবং পরিবর্তন নিয়ন্ত্রণ করতে পারেন।

Property Getters এবং Setters-এর কাজ:

  • Getter: একটি ফিল্ডের মান (value) পড়ার জন্য ব্যবহৃত হয়।
  • Setter: একটি ফিল্ডের মান (value) সেট বা পরিবর্তন করার জন্য ব্যবহৃত হয়।

Property Syntax:

Public Property PropertyName() As DataType
    Get
        ' Return the value of the field
    End Get
    Set(value As DataType)
        ' Set the value of the field
    End Set
End Property
  • Get: এটি প্রপার্টি থেকে মান ফেরত দেয়। সাধারণত এটি ফিল্ডের মান ফেরত দেয়।
  • Set: এটি প্রপার্টিতে নতুন মান সেট করতে ব্যবহৃত হয়। value কীওয়ার্ড দিয়ে নতুন মানটি ধরে রাখা হয়।

Property Example with Getter and Setter:

Public Class Person
    ' Private fields
    Private _name As String
    Private _age As Integer

    ' Property for Name with Getter and Setter
    Public Property Name() As String
        Get
            Return _name
        End Get
        Set(value As String)
            _name = value
        End Set
    End Property

    ' Property for Age with Getter and Setter
    Public Property Age() As Integer
        Get
            Return _age
        End Get
        Set(value As Integer)
            If value >= 0 Then
                _age = value
            Else
                Console.WriteLine("Age cannot be negative.")
            End If
        End Set
    End Property
End Class

Sub Main()
    ' Create an object of the Person class
    Dim person As New Person()

    ' Use the setter to set values
    person.Name = "John"
    person.Age = 25

    ' Use the getter to retrieve values
    Console.WriteLine("Name: " & person.Name)
    Console.WriteLine("Age: " & person.Age)
End Sub

ব্যাখ্যা:

  1. Name এবং Age প্রপার্টি তৈরি করা হয়েছে। Name প্রপার্টি একটি স্ট্রিং মান ধারণ করে এবং Age প্রপার্টি একটি পূর্ণসংখ্যা (Integer) ধারণ করে।
  2. Setter: Name এবং Age এর মান সেট করার জন্য ব্যবহৃত হয়। Age প্রপার্টিতে, একটি চেক করা হয়েছে যাতে value কখনো নেতিবাচক (negative) না হয়।
  3. Getter: Name এবং Age এর মান প্রাপ্তি (retrieve) করতে ব্যবহৃত হয়।

Property with Read-Only and Write-Only

আপনি প্রপার্টি তৈরির সময় শুধুমাত্র Getter অথবা Setter প্রদান করতে পারেন, অর্থাৎ আপনি Read-Only বা Write-Only প্রপার্টি তৈরি করতে পারেন।

1. Read-Only Property (শুধুমাত্র Getter):

Public Class Person
    Private _name As String

    ' Read-only Property (Only Getter)
    Public ReadOnly Property Name() As String
        Get
            Return _name
        End Get
    End Property

    ' Constructor to set name
    Public Sub New(name As String)
        _name = name
    End Sub
End Class

এখানে, Name প্রপার্টি শুধুমাত্র Get এর মাধ্যমে অ্যাক্সেস করা যাবে, এবং এটি শুধুমাত্র পাঠযোগ্য (read-only) হবে।

2. Write-Only Property (শুধুমাত্র Setter):

Public Class Person
    Private _password As String

    ' Write-only Property (Only Setter)
    Public WriteOnly Property Password() As String
        Set(value As String)
            _password = value
        End Set
    End Property
End Class

এখানে, Password প্রপার্টি শুধুমাত্র Set এর মাধ্যমে মান পরিবর্তন করা যাবে এবং এটি লেখার জন্যই ব্যবহৃত হবে (write-only)।


Automatic Properties (অটোমেটিক প্রপার্টি)

যখন আপনি খুব সাধারণ প্রপার্টি তৈরি করতে চান এবং Getter এবং Setter এর মধ্যে কোনো অতিরিক্ত লজিক না রাখতে চান, তখন আপনি Automatic Properties ব্যবহার করতে পারেন। এটি VB.Net-এ কোড কমপ্যাক্ট এবং পরিষ্কার রাখে।

Public Class Person
    ' Automatic Property
    Public Property Name As String
    Public Property Age As Integer
End Class

এখানে, VB.Net স্বয়ংক্রিয়ভাবে একটি ব্যাক-এন্ড ফিল্ড তৈরি করবে এবং Getter, Setter এর কাজ করবে। অর্থাৎ, আপনাকে আলাদাভাবে _name বা _age ফিল্ড ডিক্লেয়ার করতে হবে না।


Property Method Overloading

আপনি প্রপার্টির জন্য একাধিক Get বা Set মেথডও তৈরি করতে পারেন (প্যারামিটারাইজড), যা Method Overloading নামে পরিচিত। এটি একাধিক প্রপার্টি মেথডের জন্য বিভিন্ন প্যারামিটার নেওয়ার সুযোগ দেয়।

Public Class Person
    Private _name As String

    ' Overloaded Setter with different parameters
    Public Property Name() As String
        Get
            Return _name
        End Get
        Set(value As String)
            _name = value
        End Set
    End Property

    ' Overloaded Setter with integer value (set name as number)
    Public Sub SetName(age As Integer)
        _name = "Age: " & age.ToString()
    End Sub
End Class

এখানে, একটি সাধারণ Name প্রপার্টি এবং একটি SetName মেথড রয়েছে, যা age এর মাধ্যমে নাম সেট করে।


সারাংশ

  • Getter এবং Setter প্রপার্টি ব্যবহার করে আপনি একটি ক্লাসের প্রাইভেট ফিল্ডের অ্যাক্সেস নিয়ন্ত্রণ করতে পারেন।
  • Property ব্যবহার করার মাধ্যমে ডেটার সুরক্ষা নিশ্চিত করা যায় এবং কোডের স্থিতিশীলতা বৃদ্ধি পায়।
  • Read-only, Write-only, এবং Automatic Properties ব্যবহার করে প্রপার্টি গঠন করা সহজ হয়।
  • আপনি Method Overloading ব্যবহার করে প্রপার্টির জন্য একাধিক প্যারামিটার নিতে পারেন।

এই ধারণাগুলি Encapsulation এর অংশ, যা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের একটি মূল অংশ এবং সঠিকভাবে কোডের সুরক্ষা ও গঠন উন্নত করতে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...