Pola Desain Python - Kelas Terbang

Pola kelas terbang berada di bawah kategori pola desain struktural. Ini memberikan cara untuk mengurangi jumlah objek. Ini mencakup berbagai fitur yang membantu dalam meningkatkan struktur aplikasi. Fitur terpenting dari objek kelas terbang adalah kekekalan. Ini berarti bahwa mereka tidak dapat dimodifikasi setelah dibuat. Pola tersebut menggunakan HashMap untuk menyimpan objek referensi.

Bagaimana cara menerapkan pola kelas terbang?

Program berikut membantu dalam menerapkan pola kelas terbang -

class ComplexGenetics(object):
   def __init__(self):
      pass
   
   def genes(self, gene_code):
      return "ComplexPatter[%s]TooHugeinSize" % (gene_code)
class Families(object):
   family = {}
   
   def __new__(cls, name, family_id):
      try:
         id = cls.family[family_id]
      except KeyError:
         id = object.__new__(cls)
         cls.family[family_id] = id
      return id
   
   def set_genetic_info(self, genetic_info):
      cg = ComplexGenetics()
      self.genetic_info = cg.genes(genetic_info)
   
   def get_genetic_info(self):
      return (self.genetic_info)

def test():
   data = (('a', 1, 'ATAG'), ('a', 2, 'AAGT'), ('b', 1, 'ATAG'))
   family_objects = []
   for i in data:
      obj = Families(i[0], i[1])
      obj.set_genetic_info(i[2])
      family_objects.append(obj)
   
   for i in family_objects:
      print "id = " + str(id(i))
      print i.get_genetic_info()
   print "similar id's says that they are same objects "

if __name__ == '__main__':
   test()

Keluaran

Program di atas menghasilkan keluaran berikut -