Sobes.tech
Intern

Dasturlash ob'ektli paradigma (PO) nima?

sobes.tech AI

AIdan javob

Obyekt yo‘naltirilgan dasturlash paradigmasi (OOP) — bu dasturiy taʼminotni ishlab chiqish yondashuvi bo‘lib, dastur interaktiv ravishda o‘zaro taʼsir qiladigan obyektlar to‘plami sifatida tasvirlanadi, har bir obyekt esa sinfning nusxasi bo‘lib, holat (xususiyatlar) va xulq (metodlar) ga ega.

OOP ning asosiy tamoyillari:

  • Inkapsulyatsiya: Maʼlumotlar (xususiyatlar) va ular bilan ishlash uchun metodlarni bitta mantiqiy birlik — obyekt ichida jamlash. Ob’ektning ichki amalga oshirilishini tashqi dunyodan yashirish.
    class Dog {
        private var name: String // Yashirin xususiyat
        
        init(name: String) {
            self.name = name
        }
        
        func bark() { // Interaktiv metod
            print("\(name) laqiladi!")
        }
    }
    
  • Meros: Mavjud sinflardan (superklasslar) yangi sinflar (subklasslar) yaratish uchun mexanizm, ular xususiyatlari va metodlarini meros qilib oladi. Kodni qayta ishlatish va sinf hierarhiyalarini shakllantirish imkonini beradi.
    class Animal {
        func eat() {
            print("Hayvon ovqatlanadi.")
        }
    }
    
    class Cat: Animal { // Cat, Animal’dan meros oladi
        func meow() {
            print("Miyovlaydi.")
        }
    }
    
  • Polimorfizm: Turli sinflarga oid obyektlarning bir xil xabar (metod chaqiruvi)ga turlicha javob berish imkoniyati. Tizimning moslashuvchanligi va kengaytirilishini taʼminlaydi.
    class Shape {
        func draw() {
            // Asosiy amalga oshirish
        }
    }
    
    class Circle: Shape {
        override func draw() { // draw metodini qayta yozish
            print("Doira chizish.")
        }
    }
    
    class Square: Shape {
        override func draw() { // draw metodini qayta yozish
            print("Kvadrat chizish.")
        }
    }
    
    let shapes: [Shape] = [Circle(), Square()] // Turli turlardagi obyektlar massiv
    for shape in shapes {
        shape.draw() // Har bir obyekt uchun turli draw amalga oshiriladi
    }
    
  • Abstraktsiya: Ob’ekt yoki tizimning muhim xususiyatlarini ajratib chiqarish, muhim bo‘lmagan tafsilotlarni e’tiborsiz qoldirish. Haqiqiy dunyo modellari bilan yuqori darajada ishlash imkonini beradi.

OOP ning afzalliklari:

  • Kodni qayta ishlatish
  • Modulli va strukturali yaxshilash
  • Tizimni qo‘llab-quvvatlash va kengaytirish qulayligi
  • Haqiqiy dunyoni yaxshiroq tushunish va modellashtirish

OOP ning kamchiliklari:

  • Oddiy vazifalar uchun murakkablik kiritishi mumkin
  • Ba’zi hollarda ortiqcha resurslar (xotira, vaqt) talab qilishi

Swift, Objective-C va boshqa dasturlash tillarida murakkab va qo‘llab-quvvatlanadigan ilovalar yaratish uchun qo‘llaniladi.