Classes

Class ဆိုတာကေတာ့ object တစ္ခု ဖန္တီးဖို႔ အတြက္ user-defined လုပ္ထားတာပါ ။ class ထဲမွာ attributes , class varilables , method စတာေတြ ပါဝင္ပါတယ္။

Defining a Class

Python မွာ class ကို ဖန္တီးေတာ့မယ္ဆိုရင္

class ClassName:

ClassName ကေတာ့ ႏွစ္သက္ရာ class နာမည္ပါ။ ဥပမာ

class animal:

အဲဒါဆိုရင္ေတာ့ animal ဆိုတဲ့ class တည္ေဆာက္ၿပီးပါၿပီ။ ၿပီးရင္ class ထဲမွာ ပါဝင္မယ္ variable ကို သတ္မွတ္ပါမယ္။ animal ျဖစ္တဲ့ အတြက္ေၾကာင့္ ေျခေထာက္ ၄ ေခ်ာင္းျဖစ္ႏိုင္သလို ၂ ေခ်ာင္းတည္းရွိတဲ့ တိရစာၦန္လည္း ျဖစ္ႏိုင္ပါတယ္။ ဒါေၾကာင့္

class animal:
    number_of_legs = 0

Instances

Class ႀကီး သက္သက္ဆိုရင္ေတာ့ class တစ္ခု ကို ဖန္တီးထားတာပဲ ရွိပါတယ္။ class ကို အသံုးျပဳခ်င္ရင္ေတာ့ instance တစ္ခုကို တည္ေဆာက္ရပါတယ္။ တည္ေဆာက္ၿပီးသား instance ကို variable ထဲမွာ သိမ္းရပါတယ္။ class ထဲက variable ေတြကို ေခၚယူ အသံုးျပဳလိုရင္ေတာ့ instance ေဆာက္ထားတဲ့ varilable ထဲက ေန တဆင့္ ေခၚယူ အသံုးျပဳႏိုင္ပါတယ္။

class animal:
    number_of_legs = 0

dog = animal()

အခု ဆိုရင္ dog variable က animal object တစ္ခု ျဖစ္သြားပါၿပီ။ animal ထဲက variable ကို ေခၚယူ အသံုးျပဳလို ရင္ေတာ့

dog.number_of_legs

အခု ကၽြန္ေတာ္တို႔ေတြ variable ကို အသံုးျပဳၾကည့္ရေအာင္။

class animal: number_of_legs = 0 dog = animal() dog.number_of_legs = 4 print ("Dog has {} legs".format(dog.number_of_legs)) ''' you can also write like that print("Dog has " + str(dog.number_of_legs) + " legs") '''

ကၽြန္ေတာ္တို႔ေတြ ေနာက္ထပ္ ဥပမာ တစ္ခု ထပ္စမ္း ၾကည့္ရေအာင္။

class animal: number_of_legs = 0 dog = animal() dog.number_of_legs = 4 print ("Dog has {} legs".format(dog.number_of_legs)) chicken = animal() chicken.number_of_legs = 2 print ("Chicken has {} legs".format(chicken.number_of_legs))

ကၽြန္ေတာ္တို႔ေတြ dog နဲ႔ chicken object ၂ ခုကို တည္ေဆာက္ၿပီးေတာ့ ေျခေထာက္ ဘယ္ႏွစ္ေခ်ာင္း ရွိတယ္ဆိုတာကို print ထုတ္ျပေပးထားပါတယ္။

Function in Class

Function ေတြကို class ထဲမွာ ေၾကျငာလို႔ ရပါတယ္။

class animal: number_of_legs = 0 def sleep(slef) : print("zzz") dog = animal() dog.sleep()

class ထဲမွာ function ကို ဖန္တီးတဲ့ အခါမွာ (self) ဆိုၿပီး ထည့္ထားတာကို ေတြ႕ရပါမယ္။ အဲဒီလို ထည့္ထားမွသာ class ထဲမွာ ရွိတဲ့ variable ကို လွမ္းေခၚလို႔ ရပါလိမ့္မယ္။

results matching ""

    No results matching ""