🏠 Home / Hub

🏗️ Python Lesson 07 — OOP Classes

← Back to Python Menu

1. Class & Object

Class က blueprint ပါ။ Object က အဲ့ blueprint နဲ့တကယ်ဆောက်ထားတဲ့ instance ပါ။

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def introduce(self):
        return f"My name is {self.name}. I am {self.age}."

student1 = Student("Aung Aung", 20)
print(student1.introduce())

2. self ဆိုတာ

self က current object ကိုညွှန်းတာပါ။ Object တစ်ခုချင်းစီရဲ့ data သီးသန့်သိမ်းဖို့သုံးတယ်။

class Counter:
    def __init__(self):
        self.count = 0

    def increase(self):
        self.count += 1

c = Counter()
c.increase()
print(c.count)

3. Class Attribute vs Instance Attribute

class User:
    app_name = "Learning App"  # class attribute

    def __init__(self, username):
        self.username = username  # instance attribute

u1 = User("admin")
u2 = User("student")
print(u1.app_name, u1.username)
print(u2.app_name, u2.username)

4. Inheritance

class Animal:
    def speak(self):
        return "Some sound"

class Dog(Animal):
    def speak(self):
        return "Woof"

dog = Dog()
print(dog.speak())
Parent class က behavior ကို child class ကယူသုံး/override လုပ်နိုင်တယ်။

5. Encapsulation

class BankAccount:
    def __init__(self, balance):
        self.__balance = balance

    def deposit(self, amount):
        if amount > 0:
            self.__balance += amount

    def get_balance(self):
        return self.__balance

acc = BankAccount(1000)
acc.deposit(500)
print(acc.get_balance())

6. Practical Model

class Product:
    def __init__(self, name, price, stock):
        self.name = name
        self.price = price
        self.stock = stock

    def sell(self, qty):
        if qty > self.stock:
            return "Not enough stock"
        self.stock -= qty
        return self.price * qty

item = Product("Keyboard", 45000, 10)
print(item.sell(2))
print(item.stock)

📌 Study Checklist