Inheritance, Polymorphism, এবং Encapsulation

Object-Oriented Programming (অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং) - ভিজুয়াল বেসিক ডট নেট (VB.Net) - Computer Programming

320

VB.Net-এ Inheritance, Polymorphism, এবং Encapsulation

Object-Oriented Programming (OOP) বা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এর তিনটি প্রধান মৌলিক ধারণা হল: Inheritance, Polymorphism, এবং Encapsulation। এগুলি OOP-এর মূল স্তম্ভ এবং প্রোগ্রামিংয়ে কোডের পুনঃব্যবহারযোগ্যতা, স্থিতিশীলতা এবং পরিচালনার সহজতা নিশ্চিত করতে সহায়তা করে। এখানে আমরা প্রতিটি ধারণা বিস্তারিতভাবে আলোচনা করব এবং VB.Net-এ কিভাবে এই তিনটি ধারণা প্রয়োগ করা যায় তা দেখাব।


১. Inheritance (ইনহেরিটেন্স)

Inheritance হল একটি ক্লাসের বৈশিষ্ট্য (ফিল্ডস এবং মেথডস) এবং আচরণ (behavior) অন্য একটি ক্লাসে উত্তরাধিকারসূত্রে প্রাপ্ত হওয়ার প্রক্রিয়া। এর মাধ্যমে একটি ক্লাস (subclass বা derived class) অন্য একটি ক্লাসের (base class বা parent class) বৈশিষ্ট্য এবং আচরণ অর্জন করে, যার ফলে কোডের পুনঃব্যবহারযোগ্যতা বৃদ্ধি পায় এবং কোড কমপ্লেক্সিটি কমে যায়।

Inheritance-এর সুবিধা:

  1. কোডের পুনঃব্যবহারযোগ্যতা।
  2. সিস্টেমের আর্কিটেকচার সহজ করা।
  3. নতুন ক্লাস তৈরি করার সময় পুরনো ক্লাসের কাজ পুনরায় না লিখে সেগুলি ব্যবহার করা।

VB.Net-এ Inheritance এর উদাহরণ:

' Parent class
Public Class Animal
    Public Sub Speak()
        Console.WriteLine("Animal makes a sound")
    End Sub
End Class

' Child class that inherits from Animal
Public Class Dog
    Inherits Animal

    ' Overriding the Speak method
    Public Sub Bark()
        Console.WriteLine("Dog barks")
    End Sub
End Class

Sub Main()
    ' Create an object of the child class
    Dim myDog As New Dog()

    ' Access inherited method
    myDog.Speak()  ' Animal makes a sound

    ' Access child class method
    myDog.Bark()   ' Dog barks
End Sub

এখানে, Dog ক্লাস Animal ক্লাস থেকে ইনহেরিট করেছে, যার ফলে Dog ক্লাস Animal ক্লাসের Speak মেথড ব্যবহার করতে পারে।


২. Polymorphism (পলিমর্ফিজম)

Polymorphism হল একটি অবজেক্ট ওরিয়েন্টেড কনসেপ্ট, যেখানে একটি অবজেক্ট একাধিক ফর্মে (behavior) উপস্থিত থাকতে পারে। এটি দুটি প্রকারে বিভক্ত:

  1. Compile-time Polymorphism (Method Overloading): একই নামের একাধিক মেথড বিভিন্ন প্যারামিটার গ্রহণ করে।
  2. Run-time Polymorphism (Method Overriding): একটি মেথড base class-এ ডিফাইন করা থাকলেও derived class-এ তা পুনরায় ডিফাইন (override) করা হয়।

Polymorphism-এর সুবিধা:

  1. কোড পুনঃব্যবহার।
  2. ক্লাসের আচরণে পরিবর্তন আনতে সহজ।
  3. ইউনিফাইড ইন্টারফেস (এটা একই নামের মেথড হলেও প্রতিটি ক্লাসে ভিন্ন আচরণ করবে)।

VB.Net-এ Polymorphism এর উদাহরণ:

' Parent class
Public Class Animal
    Public Overridable Sub Speak()
        Console.WriteLine("Animal makes a sound")
    End Sub
End Class

' Child class that overrides the Speak method
Public Class Dog
    Inherits Animal

    Public Overrides Sub Speak()
        Console.WriteLine("Dog barks")
    End Sub
End Class

' Another Child class that overrides the Speak method
Public Class Cat
    Inherits Animal

    Public Overrides Sub Speak()
        Console.WriteLine("Cat meows")
    End Sub
End Class

Sub Main()
    ' Create objects of derived classes
    Dim dog As New Dog()
    Dim cat As New Cat()

    ' Demonstrating Polymorphism
    Dim myAnimal As Animal

    myAnimal = dog
    myAnimal.Speak()  ' Dog barks

    myAnimal = cat
    myAnimal.Speak()  ' Cat meows
End Sub

এখানে, Dog এবং Cat ক্লাসগুলো Speak মেথডকে পুনরায় (override) ডিফাইন করেছে। myAnimal ভেরিয়েবলটি Animal টাইপের হলেও এটি Dog এবং Cat ক্লাসের Speak মেথড কল করতে পারে, যা run-time polymorphism এর উদাহরণ।


৩. Encapsulation (এনক্যাপসুলেশন)

Encapsulation হল ডেটা এবং ফাংশনালিটি একত্রে রাখার প্রক্রিয়া, যেখানে ডেটাকে ব্যক্তিগত (private) রাখা হয় এবং বাইরের কোড থেকে অ্যাক্সেস সীমাবদ্ধ করা হয়। এটি ডেটা নিরাপত্তা নিশ্চিত করতে সাহায্য করে এবং কোডের সঠিকতা বজায় রাখে।

Encapsulation-এর সুবিধা:

  1. ডেটার নিরাপত্তা এবং সুরক্ষা।
  2. কোডের রক্ষণাবেক্ষণ সহজ করা।
  3. অবাঞ্ছিত অ্যাক্সেস এবং পরিবর্তন থেকে ডেটা রক্ষা করা।

VB.Net-এ Encapsulation এর উদাহরণ:

Public Class BankAccount
    ' Private field
    Private balance As Decimal

    ' Public property for encapsulating access to the balance field
    Public Property AccountBalance() As Decimal
        Get
            Return balance
        End Get
        Set(value As Decimal)
            If value >= 0 Then
                balance = value
            Else
                Console.WriteLine("Balance cannot be negative.")
            End If
        End Set
    End Property

    ' Method to deposit money
    Public Sub Deposit(amount As Decimal)
        If amount > 0 Then
            balance += amount
        Else
            Console.WriteLine("Deposit amount must be positive.")
        End If
    End Sub
End Class

Sub Main()
    ' Create a BankAccount object
    Dim account As New BankAccount()

    ' Use property to set balance
    account.AccountBalance = 1000

    ' Deposit money
    account.Deposit(500)

    ' Access the balance via property
    Console.WriteLine("Current balance: " & account.AccountBalance)
End Sub

এখানে, balance ফিল্ডটি Private রাখা হয়েছে, এবং তার মান পরিবর্তন করার জন্য AccountBalance নামের Property এবং Deposit নামের Method ব্যবহার করা হয়েছে। এভাবে বাইরের কোড থেকে সরাসরি balance এর মান পরিবর্তন করা যাবে না, তবে encapsulation ব্যবহারের মাধ্যমে এর মান সঠিকভাবে নিয়ন্ত্রণ করা হচ্ছে।


সারাংশ

  1. Inheritance: এক ক্লাসের বৈশিষ্ট্য অন্য ক্লাসে উত্তরাধিকারসূত্রে পাওয়া।
  2. Polymorphism: একাধিক ফর্মে (behavior) একই নামের মেথড থাকতে পারে।
  3. Encapsulation: ডেটা এবং তার আচরণ একত্রে রাখতে গিয়ে ডেটার অ্যাক্সেস সীমাবদ্ধ করা।

এই তিনটি ধারণা VB.Net-এ Object-Oriented Programming (OOP) কৌশলগুলির মূল ভিত্তি এবং এটি সফটওয়্যার ডেভেলপমেন্টে কোডের পুনঃব্যবহারযোগ্যতা, স্থিতিশীলতা এবং নিরাপত্তা নিশ্চিত করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...