Reja:
Kirish.
Asosiy qism:
1. Obyektga yo’naltirilgan dasturlash asoslari
2. Sinf va obyekt tushunchalari, ularning yaratilishi
3. Metodlar(Funksiyalar)
4. O’zgaruchilar, konstantalar
5. Konstruktor, this ko’rsatkichi.
Xulosa.
Foydalanilgan adabiyotlar.
Kirish
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)
Obyekt — huddi real hayotimizdagi obyektlar (stol, qalam, klaviatura …) kabi o’zining biror xususiyati va holatiga ega bo’lgan mantiqiy mavjudlik. OYD da obyektdagi ma’lumotlari uning xususiyatini, metodlar esa uning holatini ifodalaydi.
Class — Yaratiladigan obyektning modeli (shabloni). Obyektrlar class lar asosida yaratiladi.
Vorislik — Mavjud bo’lgan klassning butun yoki qisman funksionalligi asosida yangi klass yaratish.
Polimorfizm — Bir interfeys, ammo turli xilda qurilishi. Javada polimorfizm metodlarni overload va override qilish orqali amalga oshiriladi.
Inkapsulatsiya — Metodlar va ma’lumotlarni bir butun qilib bog’lash.
Abstraktsiya — Obyektning ichki realizatsiyasini yashirib faqat uning funksionalini ko’rsatish. Javada abstraktsiya interfeyslar va abstrakt class lar bilan amalga oshiriladi.
Class (Sinf)
JAVA da sinf - bu maxsus turlar bo‘lib, o‘zida maydon, usullar va xossalarni mujassamlashtiradi. Sinf murakkab struktura bo‘lib, ma’lumotlar ta’riflaridan tashqari, protsedura va funksiyalar ta’riflarini o‘z ichiga oladi.
Sinf ta'rifi sodda shakli:
bu yerda:
sinf_tipi –class xizmatchi so'zi;
sinf_nomi – identifikator;
sinf_komponentlari_ro'yxati – sinfga tegishli ma'lumotlar va funksiyalar ta'rifi;
Metod – bu ob'ektlar ustida bajariladigan amallarni aniqlovchi sinf usuli;
Ma'lumotlar – bu ob'ekt strukturasini xosil qiluvchi maydon.
Sinf ob'ekti (sinf nusxasi) ni ta'riflash uchun quyidagi konstruksiyadan foydalaniladi:
Ob'ekt orqali maydonlarga va usullarga quyidagicha murojat qilish mumkin:
< ob'ekt_nomi >. ;
< ob'ekt_nomi >. ;
Konstruktor
Konstruktor - bu sinf ob'ektlarini avtomatik initsializatsiya qilish uchun ishlatiladigan maxsus komponentali funksiya.
Konstruktorlar ko’rinishi quyidagicha bo’lishi mumkin:
()
{}
Bu komponentaning nomi sinf nomi bilan bir xil bo’lishi lozim.
Dasturchi tomonidan ko'rsatilmagan xolda ham new operator yordamida sinf ob'ekti yaratilganda yoki xotirada joylashganda konstruktor avtomatik ravishda chaqiriladi.
Konstruktor ob'ekt uchun xotirada joy ajratadi va ma'lumotlar – sinf a'zolarini initsializatsiyalaydi.
This ko'rsatkichi
Agarda ob'ektga ishlov berish uchun sinf a'zosi – funksiya chaqirilsa, unda shu funksiyaga ob'ektga belgilangan ko'rsatkich avtomatik va ko'rsatilmagan xolda uzatiladi. Bu ko'rsatqich this ismiga ega.
Sinfni quyidagi tasvirlash mumkin:
class Point {
int х, у;
Point(int х, int у) {
this.x = х;
this.у = у;
}
}
Xulosa
Bugungi kunda kampyuter olamida “issiq mavzu” sifatida Internet va World Wide Web (“Dunyo о‘rgamchak tо‘ri”) tashkil etadi. Internet bilan ishlashni yaxshilash uchun yangi pragrammalashtiruvchi til poydo bо‘lishi lozim bо‘ladi. Java shunday tillardan xisob- lanadi. Bu dars sizni Java olamiga olib kiradi, xozirgi kampyuter industriyasidagi yangi dasturlash tiliga. Tarmoqdagi pragrammalashtirishning imkoniyatlarini va yana Java (JDK) ishlab chiqaruvchi kompilektini nusxasini Sun Microsystems (Java ni ishlab chiqargan firma) firmasi tomonidan yuklab olishini о‘rganasiz. Bu ishlab chiqaruvchi komplekti Java da dastur tuzishingiz uchun hamma qо‘layliklarni beradi.
JAVAning imkoniyatlari. Internet uchun ixcham dasturlar (applet) yaratish;
xavfsizlik (kodni xavfsiz ishga tushirish).
xotirani xavfsiz boshqarish (xotirani “chiqindi”lardan avtomatik tozalash);
tarmoq uchun dasturlar yozish;
ko’p oqimli (Multi-thread) dasturlash
har bir sinfni (class) alohida faylga saqlash.
Фойдаланилган адабиётлар
http://www.learnjavaonline.org/
https://www.tutorialspoint.com/java/
http://www.javatpoint.com/
http://dasturchilar.uz/
Do'stlaringiz bilan baham: |