Obyektga yo’naltirilgan dasturlash.
Reja:
- Obyektga yo’naltirilgan dasturlash (OYD) asoslari.
- OYD asosida obyekt sinflarini yaratish.
- Inkapsulyatsiya, nasl qoldirish, polimorfizm tushunchalari.
- OYD asosida amaliy masalarni yechish.
Dasturlash tili – bu kompyuter dasturlarini yozish uchun mo’ljallangan formal tildir.
Dastlabki dasturlar mashina kodida yozilgan. Bu juda qiyin va uzoq vaqt talab qilgan.
Greys Hopper amerikalik dasturchi ayol va dengiz ofitseri bo’lib, “Mark-1” releli mashina uchun dasturlar yozgan.
Ob’ektga yo’naltirilgan dasturlash tillari:
Simula-67 (1967, Kristen Nyugord v.b. Norvegiya)
SmallTalk (1971, Alan Key, AQSh)
Ada (1980, Jan Ishbia, Fransiya)
Objective-C (1980, Bred Koks, Stepstone kompaniyasi)
Python (1980, Gvido van Rossum, Gollandiya)
C++ (1985, Born Straustrup, Bell Labs laboratoriyasi, AQSh)
Greys Hopper 1951 yilda birinchi A-O nomli kompilyatorni yaratdi. Undan keyin B-O kompilyatori ishlab childi va unda 30 ga yaqin inglizcha so’zlardan foydalanilgan.
Dasturlashni rivojlantirish yo’lida “ENIAK” EHM yaratuvchilaridan biri Jon Mouchli 1949 yilda yuqori darajali dasturlash tillariga asos bo’la oladigan Short Code tizimini ishlab chiqqan uni rivojlantirgan.
Object Pascal, Delphi (1986, Larri Teslera, Apple Computer firmasi)
PERL (1987, Xerox PARC tadqiqot markazi, AQSh)
Ruby (1995, Yukixiro Matsumoto, Yaponiya),
Visual Basic.NET (VB.NET – 2002, Microsoft)
Java (1991-1995, Jeyms Gosling, Sun Microsytems, AQSh) C# (1998-2001, Andres Heylsberg (Anders Hejlsberg), Microsoft) Mavzu: Obyektga yo’naltirilgan dasturlash asoslari. Obyektga yo’naltirilgan dasturlash yoki OYD – dasturlarni haqiqiy hayotiylikka asoslangan holdagi dasturlash usulidir. OYD ning protsedurali dasturlash tillari (masalan, Pascal, Basic, Fortran) dan asosiy farqi shundaki, OYD asosan obyektlarga asoslangan holda ishlasa, protsedurali dasturlash tillari asosan funksiyalarga asoslangan bo’ladi, ya’ni bu usuldagi dasturlashda har bitta buyruqlar qadamma-qadam bajarilib boriladi.
Class– OYDning markazi hisoblanadi va u har xil kodlar, ma’lumotlar va shu ma’lumotlar qay tarzda o’zgarishini ifodalovchi hususiyatlar saqlanadi. Boshqacharoq qilib aytadigan bo’lsak hayotiy obyektlarning qanday faoliyat yuritishi, nimalardan iborat ekanligi, qanday hususiyatlarga ega ekanligini tavsiflovchi kichik bir hujjat sifatida qarash ham mumkin. Class o’z ichiga o’zgaruvchilar va metodlar(funksiyalar) hamda qiymati o’zgarmaydigan konstantalarni oladi. Yana shuni ham ta’kidlash kerakki, har bitta klass bitta o’zgaruvchi tipi bo’lib ham hizmat qiladi. Xuddi Integer, String yoki boshqa tiplar kabi har bir class ham ma’lum bir tip sifatida qaralishi mumkin. Obyekt– bu class bilan farqli tushuncha xisoblanadi. Obyekt biz yozgan klassimizdagi har xil qoidalarga bo’ysunadigan ma’lumot bo’lib, u tezkor xotirada saqlanadi, class esa qattiq diskda saqlanadi. Har bir yasalgan obyekt tezkor xotiraning ma’lum bir yacheykalariga joylashadi. Misol, ko’p qavatli binoni tezkor xotira deb qarasak, unda istiqomat qiluvchi insonlarni obyektlar deb qarashimiz mumkin. Agar biz insonning hususiyatlari, bajaradigan ishlari haqidagi bilimlarni qog’ozga tushursak bu qoralamani klass deb qaralishi mumkin, garchi u texnik usulda yozilmagan bo’lsa ham. Biz ana o’sha qoralamani klassimizda kompyuter tushunadigan tilga keltiramiz.Metodlar(Funksiyalar) – obyektimiz nimalar qila olishini izohlaydi, masalan, inson haqida yozgan qoralamamizda insonni yura olishi va boshqa harakatlarini keltirganmiz. Aynan o’sha qila oladigan ishlarini metodlar orqali ifodalaymiz, masalan, quyida yur() metodi keltirilgan.public class Inson{ public void yur(){ O’zgaruchilar – obyektlarimizni o’zgaruvchi sifatida ham qarashimiz va bunda uning qiymatlari o’zgarishi mumkin. Masalan, Inson klassimizda insonning yurish tezligi o’zgaradi bunda uning tezligi qandaydir sonlarda o’zgaradi masalan yur() metodidan yugur() metodiga o’tganda yoki to’xta() metodiga o’tganda uning tezligi o’zgaradi. Shu va shunga o’xshash obyektlar o’zgaruvchilar deb yuritiladi. Konstantalar – qiymatlari bir marta qo’yilib qaytib o’zgarmaydigan obyektlar hisoblanadi. Masalan Inson husisiyatlarga ega bo’lgan Toshmat classida uning tug’ilgan yili o’zgarmaydi.public class Toshmat{int tezlik=0;final int tugilganYili=1989; // final kalit //so’zi obyektning konstanta ekanligini bildiradi public void yur(){ agarda biz tug’ilgan Yili ga yana boshqa qiymat bermoqchi bo’lsak dastur xatolik haqida xabar beradi, chunki u dastlab final kalit so’zi orqali e’lon qilingan.Obyektga yo’naltirilgan dasturlash (OOP — Object-oriented programming) da, dasturlarimiz obyektlar va ular orasidagi bog’liqliklar asosida yaratiladi.
OYD da asosiy tushunchalar quyidagilar:
— Obyekt
— Class
— Vorislik (Inheritance)
— Polimorfizm (Polymorphism)
— Abstraktsiya (Abstraction)
— Inkapsulatsiya (Encapsulation)
Do'stlaringiz bilan baham: |