JavaRush /Blog Jawa /Random-JV /Ngopi #111. Polimorfisme lan ikatan dinamis ing Jawa. For...

Ngopi #111. Polimorfisme lan ikatan dinamis ing Jawa. For loop in Java + forEach conto sintaks loop

Diterbitake ing grup

Polimorfisme lan ikatan dinamis ing Jawa

Sumber: DZone Polymorphism minangka salah sawijining konsep inti pemrograman berorientasi obyek. Apa sampeyan anyar ing pemrograman Java utawa pangembang berpengalaman, sampeyan kudu ngerti apa polimorfisme lan cara kerjane. Umume pangembang ngaku wis ngerti babagan topik iki, nanging nalika nerangake fitur kompleks liyane kaya ikatan statis lan dinamis, akeh sing ilang kapercayan. Ngopi #111.  Polimorfisme lan ikatan dinamis ing Jawa.  Kanggo loop ing Jawa + kanggo Saben conto sintaks loop - 1

Apa polimorfisme ing basa Jawa?

Polimorfisme tegese nduweni akeh wujud. Ing pemrograman, iki nuduhake kemampuan sinyal utawa pesen kanggo katon ing luwih saka siji wangun.

Tuladha urip nyata

Wong bisa nuduhake akeh ciri ing wektu sing padha. Contone, ibu bisa bebarengan dadi bojo, putri, adhine, karyawan perusahaan, lan liya-liyane. Mulane, wong bisa nuduhake karakteristik sing beda ing kahanan sing beda. Iki dikenal minangka polimorfisme.

Pentinge Polimorfisme

Polimorfisme minangka salah sawijining fitur sing paling penting ing sembarang basa pemrograman berorientasi obyek (contone, Jawa). Kanthi bantuan polimorfisme, tugas sing padha bisa ditindakake kanthi cara sing beda-beda.

Jinis polimorfisme

Ing basa Jawa, polimorfisme bisa dipérang dadi rong kategori:
  1. Polimorfisme wektu kompilasi (penyambungan statis)
  2. Polimorfisme Runtime (Runtime, dynamic binding)

Polimorfisme wektu kompilasi

Polimorfisme wektu kompilasi uga dikenal minangka link statis. Jenis polimorfisme iki bisa digayuh liwat overloading fungsi utawa overloading operator. Nanging ing Jawa, iki diwatesi kanggo overloading fungsi amarga Jawa ora ndhukung overloading operator. Overloading Fungsi Nalika paling ora ana rong fungsi utawa cara kanthi jeneng fungsi sing padha, nanging jumlah paramèter sing ana beda-beda, utawa paling ora siji jinis data saka parameter sing cocog beda (utawa loro-lorone), banjur diarani fungsi. utawa overloading cara, lan fungsi iki dikenal minangka fungsi overloading. Conto 1 Nganti saiki kita wis sinau apa fungsi overloading. Saiki ayo nyoba nduduhake overloading fungsi piranti lunak.
class Main {

    // Method 1
    // Method with 2 integer parameters
    static int Addition(int a, int b)
    {

        // Returns sum of integer numbers
        return a + b;
    }
    // Method 2
    // having the same name but with 2 double parameters
    static double Addition(double a, double b)
    {
        // Returns sum of double numbers
        return a + b;
    }
    public static void main(String args[]) {

        // Calling method by passing
        // input as in arguments
        System.out.println(Addition(12, 14));
        System.out.println(Addition(15.2, 16.1));

    }
}
Sampeyan bisa mbukak program ndhuwur kene . Penjelasan program:
  • Program ing ndhuwur kasusun saka rong fungsi statis kanthi jeneng sing padha: Tambahan .

  • Ing kene, loro fungsi kasebut ngemot jumlah parameter sing padha, nanging paramèter sing cocog beda.

  • Cara 1 nampa rong paramèter integer, dene Cara 2 nampa rong paramèter ganda .

  • Saka fungsi utama, kita pisanan nelpon fungsi Addition(12, 14) . Parameter sing dilewati yaiku integer (12 lan 14), mula Metode 1 bakal diarani ing kene.

  • Banjur kita disebut fungsi Tambahan (15.2, 16.1) . Wiwit paramèter liwati saka jinis data pindho (15.2 lan 16.1), Cara 2 bakal disebut wektu iki .

  • Mangkene carane overloading fungsi bisa ditindakake ing Jawa adhedhasar jinis data parameter sing beda.

Conto 2 Coba program ing ngisor iki:
class Main {

    // Method 1
    // Method with 2 integer parameters
    static int Addition(int a, int b)
    {

        // Returns sum of integer numbers
        return a + b;
    }

    // Method 2
    // having the same name but with 3 integer parameters
    static double Addition(double a, double b)
    {

        // Returns sum of integer numbers
        return a + b;
    }
    public static void main(String args[]) {

        // Calling method by passing
        // input as in arguments
        System.out.println(Addition(12, 14));
        System.out.println(Addition(15.2, 16.1));

    }
}
Sampeyan bisa mbukak program ndhuwur kene . Penjelasan program:
  • Program ing ndhuwur kasusun saka rong fungsi statis kanthi jeneng sing padha: Tambahan .

  • Ing kene, loro fungsi kasebut ngemot jumlah paramèter sing beda, nanging jinis data saka rong paramèter sing cocog pisanan padha (integer).

  • Cara 1 njupuk rong paramèter integer, lan Cara 2 njupuk telung paramèter jinis data integer.

  • Saka fungsi utama, kita nelpon fungsi Addition(2, 3) . Wiwit paramèter liwati iku ongko (2 lan 3), padha bakal nelpon Metode 1 kene .

  • Banjur kita disebut fungsi Tambahan(4, 5, 6) . Parameter sing dilewati yaiku jinis data dobel (4, 5, 6), saengga bakal nelpon Metode 2 wektu iki .

  • Iki carane fungsi overloaded ing Jawa adhedhasar nomer beda paramèter.

Tuladha 3
class Main {

    // Method 1
    // Method with 2 integer parameters
    static int Addition(int a, int b)
    {
        // Return the sum
        return a + b;
    }
    // Method 2
    // having the same name but with 3 parameters
    // 1st parameter is of type double and other parameters
    // are of type integer
    static double Addition(double a, int b,  int c)
    {
        // Return the sum
        return a + b + c;
    }
    public static void main(String args[]) {

        // Calling method by passing
        // input as in arguments
        System.out.println(Addition(2, 4));
        System.out.println(Addition(4.2, 6, 10));

    }
}
Sampeyan bisa mbukak program ndhuwur kene . Penjelasan program:
  • Program ing ndhuwur kasusun saka rong fungsi statis kanthi jeneng sing padha: Tambahan .

  • Loro-lorone fungsi ngemot nomer paramèter sing beda lan jinis data saka unsur sing cocog pisanan uga beda.

  • Cara 1 njupuk rong paramèter integer, dene Cara 2 njupuk telung paramèter - sing pisanan yaiku jinis dobel lan loro liyane minangka jinis data integer.

  • Saka fungsi utama, kita pisanan nelpon fungsi Addition(2, 4) . Wiwit paramèter liwati iku ongko (2 lan 4), padha bakal nelpon Metode 1 kene .

  • Banjur kita disebut fungsi Tambahan (4.2, 6, 10) . Parameter pisanan sing dilewati yaiku jinis integer lan paramèter sing isih ana jinis data kaping pindho (4.2, 6, 10), mula Metode 2 bakal diarani wektu iki .

  • Iki carane Jawa entuk overloading fungsi adhedhasar nomer paramèter sing beda-beda uga jinis data sing beda saka paramèter sing cocog.

Cathetan. A fungsi ora bisa overloaded adhedhasar mung ing jinis bali fungsi.

Polimorfisme runtime

Opsi iki uga dikenal minangka link dinamis. Ing proses iki, nelpon fungsi digawe kanggo fungsi liyane mung diijini ing runtime. Kita bisa nggayuh ikatan dinamis ing Jawa nggunakake metode overriding.

Metode overriding

Metode overriding ing basa Jawa dumadi nalika metode ing kelas dhasar nduweni definisi ing kelas turunan. Metode utawa fungsi kelas dasar diarani metode overridden.
// Class 1
class Parent {

    // Print method
    void Print()
    {

        // Print statement
        System.out.println("Inside Parent Class");
    }
}

// Class 2
class Child1 extends Parent {

    // Print method
    void Print() { System.out.println("Inside Child1 Class"); }
}

// Class 3
class Child2 extends Parent {

    // Print method
    void Print()
    {
        // Print statement
        System.out.println("Inside Child2 Class");
    }
}

class Main {

    public static void main(String args[]) {

        // Creating an object of class Parent
        Parent parent = new Parent();
        parent.Print();

        // Calling print methods
        parent = new Child1();
        parent.Print();

        parent = new Child2();
        parent.Print();
    }
}
Sampeyan bisa mbukak program ndhuwur kene . Penjelasan program:
  • Program ing ndhuwur kasusun saka telung kelas: Orang Tua ( kelas 1 ), Anak1 ( kelas 2 ) lan Anak2 ( kelas 3 ). Kelas 2 lan kelas 3 marisi kelas 1 .

  • Wong tuwa duwe metode sing diarani Print() . Ing njero fungsi iki kita nyetak " Inside Parent Class ". Child1 lan Child2 uga wis Print () fungsi , kang Sejatine ngatasi Print () fungsi kelas Parent lan print " Nang Child1 Class " lan " Nang Child2 Class " mungguh kanggo console.

  • Saka fungsi utama, kita nggawe obyek saka kelas induk sing diarani induk. Kita banjur nggunakake obyek iki kanggo nelpon cara print saka kelas induk . Mulane " Kelas Inside Parent " bakal dicithak ing konsol.

  • Sawisé iku, kita nelpon konstruktor standar saka kelas Child1 lan nelpon fungsi Print () . Elinga yen metode Print () sing ditetepake ing kelas Child1 saiki bakal diarani amarga kita wis ngilangi metode Print () saka kelas induk . Mulane, " Ing Child1 Class " bakal dicithak ing console.

  • Pungkasan, kita nelpon konstruktor standar saka kelas Child2 lan nelpon fungsi Print () . Ing kene metode Print () sing ditetepake ing kelas Child2 bakal diarani amarga kita wis ngilangi metode Print () saka kelas induk . Mulane, " Ing njero Child2 Class "bakal dicithak ing console.

  • Iki carane cara overriding digayuh ing Jawa.

Asil

Ing artikel iki, kita sinau apa polimorfisme ing Jawa. Kita banjur njlentrehake luwih jero babagan topik kasebut lan ngrembug rong jinis polimorfisme ing basa Jawa: polimorfisme wektu kompilasi lan polimorfisme runtime. Kita wis nuduhake liwat program carane naleni statis lan dinamis bisa digayuh ing Jawa.

For loop in Java + forEach conto sintaks loop

Sumber: FreeCodeCamp A Loop ing pemrograman minangka urutan instruksi sing ditindakake terus-terusan nganti kondisi tartamtu ditemtokake. Ing artikel iki, kita bakal sinau babagan for lan forEach loop ing Jawa. Ngopi #111.  Polimorfisme lan ikatan dinamis ing Jawa.  Kanggo loop ing Jawa + kanggo Saben conto sintaks loop - 2

Kanggo Sintaks Loop ing Jawa

Mangkene sintaks kanggo nggawe loop for :
for (initialization; condition; increment/decrement) {
   // code to be executed
}
Ayo goleki sawetara tembung kunci ing kode kasebut:
  • kanggo nuduhake yen kita arep nggawe daur ulang. Iku ngiring dening kurung, kang ngemot kabeh kita perlu kanggo nggawe loop kita bisa.

  • initialization nemtokake variabel awal minangka titik wiwitan daur ulang, biasane integer.

  • kondisi nemtokake sepira kaping daur ulang kudu dileksanakake.

  • increment / decrement increments / decrement Nilai saka variabel awal saben wektu daur ulang mbukak. Nalika nilai variabel mundhak / mudhun, cenderung menyang kondisi sing ditemtokake.

  • Elinga yen saben tembung kunci dipisahake kanthi titik koma ( ; ).

Ing ngisor iki sawetara conto:
for(int x = 1; x <=5; x++) {
  System.out.println(x);
}

/*
1
2
3
4
5
*/
Ing conto ing ndhuwur, variabel wiwitan yaiku x kanthi nilai 1. Daur ulang bakal terus mlaku anggere nilai x kurang saka utawa padha karo 5 - iki kahanan. x++ nambah nilai x sawise saben roto. Kita terus nyithak nilai x sing mandheg sawise 5 amarga kondisi kasebut ditemokake. Tambah dadi 6 ora bisa amarga luwih gedhe tinimbang lan ora padha karo 5. Ing conto ing ngisor iki, kita bakal nggunakake daur ulang kanggo nyithak kabeh nilai ing array.
int[] randomNumbers = {2, 5, 4, 7};
for (int i = 0; i < randomNumbers.length; i++) {
  System.out.println(randomNumbers[i]);
}

// 2
// 5
// 4
// 7
Iki meh padha karo conto pungkasan. Ing kene kita wis nggunakake dawa array minangka kondisi lan nilai awal variabel minangka nol amarga nomer ordinal saka unsur pisanan array iku nol.

kanggo Saben sintaks loop ing Jawa

The forEach loop digunakake khusus kanggo iterate liwat unsur array. Iki minangka sintakse:
for (dataType variableName : arrayName) {
  // code to be executed
}
Sampeyan bakal sok dong mirsani yen sintaks ing kene luwih cendhek tinimbang for loop . Lan loop forEach uga diwiwiti kanthi tembung kunci kanggo . Tinimbang miwiti variabel kanthi nilai, kita nemtokake jinis data dhisik (kudu cocog karo jinis data array). Iki diterusake karo jeneng variabel kita lan jeneng array , dipisahake karo titik titik. Iki conto kanggo mbantu sampeyan luwih ngerti sintaksis:
int[] randomNumbers = {2, 5, 4, 7};
for (int x : randomNumbers) {
  System.out.println(x + 1);
}

/*
3
6
5
8
*/
Ing conto iki, kita wis iterated liwat saben unsur lan incremented Nilai dhisikan dening 1. Kanthi gawan, daur ulang mandheg yen wis iterated liwat kabeh unsur Uploaded. Iki tegese kita ora perlu ngirim nilai menyang variabel utawa nemtokake kondisi apa wae supaya loop rampung.

Kesimpulan

Ing artikel iki, kita sinau apa loops lan sintaks kanggo nggawe for lan forEach loop ing Jawa. Kita uga ndeleng sawetara conto sing mbantu kita ngerti kapan lan cara nggunakake. Sugeng coding!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION