Algoritmlash asoslari



Download 1,32 Mb.
bet32/41
Sana30.12.2021
Hajmi1,32 Mb.
#90368
1   ...   28   29   30   31   32   33   34   35   ...   41
Bog'liq
Algoritmlash asoslari

public interface Dasta {

  •  

  • void ishlatilishSohasi();

  •  

  • void tayorlanganMatirial();

  •  

  • void size();

  •  

  • }

    Dasta nomli interfeys yaratildi, unda  ishlatilishSohasi(), tayorlanganMatirial(), size() nomli funksiyalari bor.

    Source code

         

    • public class Pichoq implements Dasta{

    • @Override

    • public void ishlatilishSohasi() {

    • System.out.println("Pichoq uchun");

    • }

    • @Override

    • public void tayorlanganMatirial() {

    • System.out.println("Yog'och");

    • }

    • @Override

    • public void size() {

    • System.out.println("15 sm");

    • }

    • public static void main(String[] args) {

    • Pichoq pichoq = new Pichoq();

    • pichoq.ishlatilishSohasi();

    • pichoq.tayorlanganMatirial();

    • pichoq.size();

    • }

    • }


    Ko'rib turganingizdek, klass yaratildi va Dasta interfeysidan (implement olindi) foydalanildi. Bu holatda dasta barcha dastasi bor ob’yektlar uchun umumiydir.

    default funksiyaga misol:

    Source code

         

    • interface Formula {

    • double calculate(int a);

    • default double sqrt(int a) {

    • return Math.sqrt(a);

    • }

    • }

    • Formula formula = new Formula() {

    • @Override

    • public double calculate(int a) {

    • return sqrt(a * 100);

    • }

    • };

    • formula.calculate(100);     // 100.0

    • formula.sqrt(16);

    Esda tuting: Java kompilyatori interfeys tarkibidagi funksiyalarga public va abstract kalit so’zlarni, interfeys tarkibidagi ma’lumotlarga esa public, static va final kalit so’zlarni qo’shadi.



    Bir klass bir vaqtda bir nechta interfeyslardan foydalanishi (implementation) mumkin. Quyidagi misolga qarang:




    Source code

         

    • interface Printable{

    • void print();

    • }

    • interface Showable{

    • void show();

    • }

    • class A implements Printable,Showable{

    • public void print(){System.out.println("Salom");}

    • public void show(){System.out.println("Hush kelibsiz");}

    • public static void main(String args[]){

    • A obj = new A();

    • obj.print();

    • obj.show();

    • }

    • }

    • Quyidagi misolda klass interfeysdan foydalanadi, interfeys esa boshqa interfeysdan nasl oladi:

    • interface Printable{

    • void print();

    • }

    • interface Showable extends Printable{

    • void show();

    • }

    • class A implements Showable{

    • public void print(){System.out.println("Salom");}

    • public void show(){System.out.println("Hush kelibsiz");}

    • public static void main(String args[]){

    • A obj = new A();

    • obj.print();

    • obj.show();

    • }

    • }

    Shunindek, bir interfeys tarkibida boshqa bir interfeys bo’lishi ham mumkin:

    Source code

         

    •     interface Xat {

    • void xatKeldi();

    • interface xatHabar{

    • void xatHabarKeldi();

    • }

    • }

    Abstrakt klass va interfeys o’rtasidagi farqlar

    Abstrakt klass

    Interfeys

    Abstrakt klassda abstrakt va

    abstrakt bo’lmagan funksiyalar bo’ladi

    Interfeysda faqat

    abstrakt funksiyalar bo’ladi

    Classlar faqat bitta abstrakt

    klassdan meros olishi mumkin

    Classlar bir nechta

    interfeyslardan meros olishi mumkin

    Abstrakt klasslarda final,

    non-final static va non-static bo’lgan

    o’zgaruvchilar bo’lishi mumkin

    Interfeysda esa faqat

    final va static o’zgaruvchilar bo’ladi

    Abstrakt klaslarda static

    funksiyalar, main funksiyalar va

    konstruktorlar

    yaratish mumkin

    Interfeysda esa static

    funksiyalar, main funksiyalar

    va konstruktorlar yaratib bo’lmaydi


    Interfeys va abstrakt klasslarga misol:

    Source code

         

    • //interface da 4ta method yaratilyapti

    • interface A {

    • void a(); abstract

    • void b();

    • void c();

    • void d();

    • }

    • // B abstrakt klassi yaratilyapti va A interfeysdan foydalanilyapti

    • abstract class B implements A{

    • public void c() {System.out.println("Men c man ");}

    • }

    • class M extends B{

    • public void a(){System.out.println("Men a man ");}

    • public void b(){System.out.println("Men d man ");}

    • public void d(){System.out.println("Men d man ");}

    • }

    • class Test5{

    • public static void main(String args[]){

    • A a=new M();

    • a.a();

    • a.b();

    • a.c();

    • a.d();

    • }}


    Natija :

    Men a man

    Men b man

    Men d man

    Men c man
    22-dars - Javada Collection (To’plam)

    Javada to'plamlar(collection'lar) framework bo'lib, u o'zida ob’yektlarni saqlaydi.

    To'plamlarda barcha jarayonlar ( saralash, qidirish, yozish, o'chirish va h.k lar)ni oson amalga oshirish mumkin.

    To'plamlar bir necha interface'lardan tashkil topgan. Ular ( Set, List, Queue, Deque etc.) va klass'lar (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet va h.k).

    To'plamlar ob’yektning alohida ko'rinishi.

    To'plamlar frameworklar tuzilishi noma'lum bo'lgan ob’yekt guruhlarini o'zida yig'adi. To'plamlar ma'lumot yig'ishi bilan massivlarga o'xshab ketadi. Farqi massiv o'lchami statik To'plamlarniki esa dinamik, massiv bilan top'lamlarni qurilishi bir biridan tubdan faq qiladi va h.k.

    To’plamlarning tuzilish sxemasi:



    To'lamlar java.util paketida saqlanadi.

    List

    List dublikat(takrorlangan, aynan bir ob’yektni ikki marta qabul qilishi) elementlarni o'z ichiga olishi mumkin. Elementlar joylashtirilgan yoki ro'yxatda o'z holatiga ruxsat etilishi mumkin.

    Listdan implement qiladigan klasslar

    • ArrayList

    • LinkedList

    • Vektor

    Set

    Set ham To'plam, u o'zida dublikat elementlarni saqlamaydi. Set'dan asosiy 3 ta klass implement oladi ular: HashSet, TreeSet, va LinkedHashSet, HashSet elementlarni hashlab hash jadvaliga yig'adi. Treeset elementlarni daraxtsimon va saralangan holda saqlaydi.

    Setdan implement qiladigan klasslar

    • HashSet

    • LinkedHashSet

    • TreeSet


    Download 1,32 Mb.

    Do'stlaringiz bilan baham:
  • 1   ...   28   29   30   31   32   33   34   35   ...   41




    Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
    ma'muriyatiga murojaat qiling

    kiriting | ro'yxatdan o'tish
        Bosh sahifa
    юртда тантана
    Боғда битган
    Бугун юртда
    Эшитганлар жилманглар
    Эшитмадим деманглар
    битган бодомлар
    Yangiariq tumani
    qitish marakazi
    Raqamli texnologiyalar
    ilishida muhokamadan
    tasdiqqa tavsiya
    tavsiya etilgan
    iqtisodiyot kafedrasi
    steiermarkischen landesregierung
    asarlaringizni yuboring
    o'zingizning asarlaringizni
    Iltimos faqat
    faqat o'zingizning
    steierm rkischen
    landesregierung fachabteilung
    rkischen landesregierung
    hamshira loyihasi
    loyihasi mavsum
    faolyatining oqibatlari
    asosiy adabiyotlar
    fakulteti ahborot
    ahborot havfsizligi
    havfsizligi kafedrasi
    fanidan bo’yicha
    fakulteti iqtisodiyot
    boshqaruv fakulteti
    chiqarishda boshqaruv
    ishlab chiqarishda
    iqtisodiyot fakultet
    multiservis tarmoqlari
    fanidan asosiy
    Uzbek fanidan
    mavzulari potok
    asosidagi multiservis
    'aliyyil a'ziym
    billahil 'aliyyil
    illaa billahil
    quvvata illaa
    falah' deganida
    Kompyuter savodxonligi
    bo’yicha mustaqil
    'alal falah'
    Hayya 'alal
    'alas soloh
    Hayya 'alas
    mavsum boyicha


    yuklab olish