Professional Documents
Culture Documents
კონსტრუქტორები, დესტრუქტორები.
ინკაფსულაცია
gachechiladze_lela@yahoo.com
კლასები და ობიექტები
კლასი წარმოადგენს ობიექტის შაბლონს, მის ფორმალურ აღწერას. ობიექტი
კლასის ეგზემპლარია, მისი რეალური განსახიერება. მაგალითად: თითოეულ
ჩვენგანს აქვს წარმოდგენა ადამიანის შესახებ - ორი ხელი, ორი ფეხი, თავი,
ნერვული სისტემა, თავის ტვინი და ა.შ. მაშასადამე, არსებობს ადამიანის გარკვე-
ული შაბლონი. ეს შაბლონი კლასია. რეალურად არსებული ადამიანი კი ამ კლასის
ობიექტია.
კოდის გათვალისწინებით, კლასი აერთიანებს ფუნქციებისა და ცვლადების
ნაკრებს, რომელიც განსაზღვრულ ამოცანას ასრულებს. კლასის ფუნქციებს
მეთოდებსაც უწოდებენ. ისინი კლასის ქცევას განსაზღვრავენ. კლასის ცვლადებს
ატრიბუტები ეწოდება. ისინი კლასის მდგომარეობას ინახავენ.
კლასი class საკვანძო სიტყვის გამოყენებით განისაზღვრება:
class კლასის სახელი:
კლასის მეთოდები
კლასის ობიექტის შესაქმნელად შემდეგი სინტაქსი გამოიყენება:
ობიექტის სახელი = კლასის სახელი([პარამეტრები])
gachechiladze_lela@yahoo.com 2
Person კლასი
class Person: შედეგები:
name='George.'
def display_info(self):
print('Hello! My name is ', self.name)
person1=Person()
person1.display_info()
person2=Person()
person2.name='Nick.'
person2.display_info()
gachechiladze_lela@yahoo.com 4
დესტრუქტორი
კლასის ობიექტთან მუშაობის დასრულების შემდეგ, del ოპერატორით შეგვიძ-
ლია ობიექტის ოპერატიული მეხსიერებიდან წაშლა.
person1 = Person(“George.")
del person1 # მეხსიერებიდან წაშლა
# person1.display_info() # ეს მეთოდი არ იმუშავებს, რადგან person1 წაშლილია
#მეხსიერებიდან.
აღსანიშნავია, რომ ამის გაკეთება სავალდებულო არ არის, რადგან კოდის მუ-
შაობის დასრულების შემდეგ ყველა ობიექტი ავტომატურად იშლება მეხსიერები-
დან. ამას გარდა, კლასში შეგვიძლია განვსაზღვროთ დესტრუქტორი __del__(self)
ჩაშენებული ფუნქციის გამოყენებით, რომელიც ან del ოპერატორის გამოძახების
შედეგად, ან ობიექტის ავტომატურად წაშლის დროს გამოიძახება.
დესტრუქტორის ჩამატებით ჩვენი კოდი მომდევნო სლაიდზეა წარმოდგენილი.
gachechiladze_lela@yahoo.com 5
Person კლასის საბოლოო სახე:
class Person: შედეგები:
gachechiladze_lela@yahoo.com 6
კლასების მოდულებში განსაზღვრა და გამოყენება
როგორც წესი, კლასები თავსდება ცალკეულ მოდულებში და შემდგომ ხდება
მათი იმპორტირება პროგრამის მთავარ სკრიპტში.
მოდულში ერთზე მეტი კლასიც შეიძლება იქნეს განთავსებული.
მოდულების იმპორტირება შესაძლებელია import ბრძანების გამოყენებით ან
მოდულიდან ცალკეული კლასების იმპორტირების მიზნით from ბრძანების გამო-
ყენებით. განვიხილოთ შესაბამისი პროგრამული კოდი.
შედეგები:
gachechiladze_lela@yahoo.com 7
ინკაფსულაცია
მიუთითებლობის შემთხვევაში, კლასის ატრიბუტები ღია წვდომის არის. ეს კი
ნიშნავს, რომ პროგრამის ნებისმიერი ადგილიდან შეგვიძლია ობიექტის ატრიბუ-
ტის მიღება და მისი შეცვლა.
აღნიშნულის საილუსტრაციოდ შემდეგი პროგრამა განვიხილოთ:
class Person:
def __init__(self, name):
self.name=name შედეგები:
self.age=20
def display_info(self):
print('სახელი: ', self.name, "\tასაკი: ", self.age)
person1=Person('George')
person1.name='Nick' #სახელის შეცვლა
person1.age=-125 #ასაკის შეცვლა
person1.display_info()
11
gachechiladze_lela@yahoo.com
თვისებების ანოტაციების ამსახველი კოდი
12
gachechiladze_lela@yahoo.com
მე-13 სლაიდზე წარმოდგილი კოდის შესრულების
შედეგები:
13
gachechiladze_lela@yahoo.com
გისურვებთ წარმატებულ სწავლას!
gachechiladze_lela@yahoo.com 14