• BaseModel
  • (1-misol////7-22-36)Vorislik tushunchasini misollar yordamida tushuntirib bering
  • 1-savol////1-11-16-26-31 Ob’ekt tushunchasi yoritib bering va misollar keltiring




    Download 58,84 Kb.
    bet6/10
    Sana08.02.2024
    Hajmi58,84 Kb.
    #153113
    1   2   3   4   5   6   7   8   9   10
    Bog'liq
    PYTHONE

    from django.db import models
    class BaseModel(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    class Meta:
    abstract = True
    class Post(BaseModel):
    title = models.CharField(max_length=255)
    content = models.TextField()
    def __str__(self):
    return self.title
    Bu misolda BaseModel nomli oddiy sinf yaratilgan, va u created_at va updated_at xususiyatlarini o'z ichiga oladi. Meta klasida esa abstract = True so'zi bilan, bu sinfni "abstrakt" sinf qilib, ma'lumotlar bazasida jadvalga aylanmaslikni ko'rsatadi. BaseModel sinfi yaratilganda, uni boshqa modellarda boshqa yaratilgan sinf hisobida voris qila olishingiz mumkin. Bu, har bir modelda avtomatik ravishda yaratilgan created_at va updated_at xususiyatlari bilan ma'lumotlar bazasida o'zgarishlar yozishni osonlashtiradi.
    Agar har bir modelda created_at va updated_at xususiyatlarini o'zgarishsiz qo'shishni istasangiz, ota-class yordamida bu xususiyatlarni har bir model uchun o'zgarishsiz qo'shish mumkin. ta-class yordamida boshqa qo'shimcha ma'lumotlar,

    (1-misol////7-22-36)Vorislik tushunchasini misollar yordamida tushuntirib bering Vorislik (inheritance), dasturlashda kodni qayta ishlab chiqishni osonlashtiradigan usuldir. Bu tushuncha, bitta sinfning barcha xususiyatlarini va metodlarini ikkinchi bir sinfga olib kelish va shu ikkinchi sinfda ularga qo'shimcha xususiyatlar va metodlar qo'shish imkonini ta'minlaydi. Bu o'zgarishlarni bajarmasdan, ota sinfdagi (voris qilgan sinfdagi) barcha yangi sinflardagi o'zgarishlarga ta'sir ko'rsatadi.
    VORIS KLASS YARATISH Talaba klassimizni qaytadan yaratamiz. Talaba ni yaratishda, Shaxs dan super klass sifatida foydalanamiz:
    class Talaba(Shaxs):
    def __init__(self, ism, familiya, passport, tyil):
    super().__init__(ism, familiya, passport, tyil)
    Talaba klassi uchun alohida get_info() metodini yozmagan bo'lsakda, bu metod Talabaga Shaxsdan meros o'tdi. Voris klassga super klassdan meros qolgan istalgan metodni qayta talqin qilish mumkin. Ota sinfdagi (voris qiladigan sinfdagi) barcha xususiyatlar va metodlar, voris qilgan sinfga avtomatik ravishda o'tadi. Bu, kodni boshqa sinflarni yaratishda qayta-qayta qo'llashni osonlashtiradi. Voris qilgan sinfda o'zgarishlarni kiritmasdan, ota sinfdagi funksionalni qo'shish imkonini beradi. Bu, kodni boshqa sinflarga qo'shimcha funksional qo'shishda juda qulaydir. Voris qilgan sinf va voris qiluvchi sinf obyektlari barcha funksiyalarni va metodlarni bir xil qilishga majbur bo'lmasa ham, ularning umumiy tushunchasi bir-biriga mos kelishi ta'minlanadi.
    class Talaba(Shaxs):
    """Talaba klassi"""
    def __init__(self, ism, familiya, passport, tyil,idraqam):
    """Talabaning xususiyatlari"""
    super().__init__(ism, familiya, passport, tyil)
    self.idraqam = idraqam
    self.bosqich = 1

    Download 58,84 Kb.
    1   2   3   4   5   6   7   8   9   10




    Download 58,84 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    1-savol////1-11-16-26-31 Ob’ekt tushunchasi yoritib bering va misollar keltiring

    Download 58,84 Kb.