OOP tushunchasi
1. Class (Sinf)
Class bu obyektlarning qolibi yoki shabloni. U obyektning xususiyatlari (atributlari) va xatti-harakatlarini (metodlari) aniqlaydi. Masalan, "Avtomobil" classini yaratsangiz, u avtomobilning turi, modeli, yili kabi xususiyatlarini va harakatlari, masalan, "tezlanish" yoki "to'xtash" kabi metodlarini aniqlashi mumkin.
2. Object (Ob'ekt)
Ob'ekt - bu classning namunasidir. U classda aniqlangan barcha xususiyatlar va metodlarni o'z ichiga oladi. Har bir ob'ekt o'ziga xos xususiyatlarga ega bo'lishi mumkin. Masalan, bir "Avtomobil" classidan bir nechta avtomobil ob'ektlarini yaratishingiz mumkin, va har birining turi, modeli va yili boshqacha bo'lishi mumkin.
3. Inheritance (Meroslik)
Meroslik bu bir classning boshqa classdan xususiyatlari va metodlarini olishini bildiradi. Bu sizga yangi class yaratishda mavjud classni qayta ishlatish imkonini beradi. Masalan, "Elektr Avtomobil" classi "Avtomobil" classidan meros olishi va qo'shimcha "batareya hajmi" kabi xususiyatlarni qo'shishi mumkin.
4. Polymorphism (Ko'p qiyofalik)
Polimorfizm bu bir nechta classlarning bir xil nomdagi metodlarga ega bo'lishi va har xil tarzda ishlashi mumkinligini bildiradi. Masalan, "It" classi va "Mushuk" classi "ovozi" metodiga ega bo'lishi mumkin, lekin "It" "hov-hov" ovoz chiqarishi, "Mushuk" esa "miyov" ovoz chiqarishi mumkin.
5. Encapsulation (Inkapulyatsiya)
Inkapulyatsiya bu classning xususiyatlari va metodlarini himoya qilish va ularni tashqaridan foydalanishni cheklashni anglatadi. Bu orqali, xususiy (private) atributlar va metodlar yaratish mumkin. Masalan, bank hisobidagi mablag'ni bevosita o'zgartirish o'rniga, uni faqat o'ziga xos metodlar orqali o'zgartirish mumkin.
6. Abstraction (Abstraktsiya)
Abstraktsiya bu murakkab ma'lumotlarni sodda va tushunarli interfeyslar orqali yashirishni anglatadi. Bu foydalanuvchilarga faqat kerakli funksionallikni taqdim etadi. Masalan, avtomobilni boshqarish uchun faqatgina gaz va tormoz peda'llarini bilish kerak, lekin dvigatel ichida qanday ishlashini bilish shart emas.
1. Class (Sinf)
Class bu obyektlarning qolibi yoki shabloni. U obyektning xususiyatlari (atributlari) va xatti-harakatlarini (metodlari) aniqlaydi. Masalan, "Avtomobil" classini yaratsangiz, u avtomobilning turi, modeli, yili kabi xususiyatlarini va harakatlari, masalan, "tezlanish" yoki "to'xtash" kabi metodlarini aniqlashi mumkin.
2. Object (Ob'ekt)
Ob'ekt - bu classning namunasidir. U classda aniqlangan barcha xususiyatlar va metodlarni o'z ichiga oladi. Har bir ob'ekt o'ziga xos xususiyatlarga ega bo'lishi mumkin. Masalan, bir "Avtomobil" classidan bir nechta avtomobil ob'ektlarini yaratishingiz mumkin, va har birining turi, modeli va yili boshqacha bo'lishi mumkin.
3. Inheritance (Meroslik)
Meroslik bu bir classning boshqa classdan xususiyatlari va metodlarini olishini bildiradi. Bu sizga yangi class yaratishda mavjud classni qayta ishlatish imkonini beradi. Masalan, "Elektr Avtomobil" classi "Avtomobil" classidan meros olishi va qo'shimcha "batareya hajmi" kabi xususiyatlarni qo'shishi mumkin.
4. Polymorphism (Ko'p qiyofalik)
Polimorfizm bu bir nechta classlarning bir xil nomdagi metodlarga ega bo'lishi va har xil tarzda ishlashi mumkinligini bildiradi. Masalan, "It" classi va "Mushuk" classi "ovozi" metodiga ega bo'lishi mumkin, lekin "It" "hov-hov" ovoz chiqarishi, "Mushuk" esa "miyov" ovoz chiqarishi mumkin.
5. Encapsulation (Inkapulyatsiya)
Inkapulyatsiya bu classning xususiyatlari va metodlarini himoya qilish va ularni tashqaridan foydalanishni cheklashni anglatadi. Bu orqali, xususiy (private) atributlar va metodlar yaratish mumkin. Masalan, bank hisobidagi mablag'ni bevosita o'zgartirish o'rniga, uni faqat o'ziga xos metodlar orqali o'zgartirish mumkin.
6. Abstraction (Abstraktsiya)
Abstraktsiya bu murakkab ma'lumotlarni sodda va tushunarli interfeyslar orqali yashirishni anglatadi. Bu foydalanuvchilarga faqat kerakli funksionallikni taqdim etadi. Masalan, avtomobilni boshqarish uchun faqatgina gaz va tormoz peda'llarini bilish kerak, lekin dvigatel ichida qanday ishlashini bilish shart emas.