JavaRush /Java Blog /Random-ID /Rehat kopi #139. Overloading dan Overriding di Java. 5 Me...

Rehat kopi #139. Overloading dan Overriding di Java. 5 Metode Java yang Belum Anda Ketahui

Dipublikasikan di grup Random-ID

Overloading dan Overriding di Java

Sumber: Medium Pada artikel ini Anda akan mempelajari tentang metode Overriding dan Overloading dalam bahasa Java. Karena kenyataan bahwa kedua istilah ini sering membingungkan satu sama lain, ada baiknya memahami dengan jelas tujuan masing-masing metode dan pilihan penerapannya. Rehat kopi #139.  Overloading dan Overriding di Java.  5 Metode Java yang Belum Anda Ketahui - 1

Kelebihan muatan

Menggunakan lebih dari satu metode dengan nama yang sama tetapi dengan parameter berbeda dalam satu kelas atau metode antara superclass dan subclass di Java disebut Overloading. Untuk menghindari hal ini, satu metode digunakan, bukan banyak metode yang melakukan tindakan serupa. Mari kita jelaskan dengan sebuah contoh:
public class MethodOverloading {

    public static void main(String[] args){
        MethodOverloading operation = new MethodOverloading();
        operation.mod(12,4);
        operation.mod(12.4,4.2);
    }

    void mod(double a, double b){
        System.out.println(a % b);
    }

    void mod(int a, int b){
        System.out.println(a % b);
    }
}
Dalam kode ini, metode operasinya kelebihan beban. Metode dengan nama yang sama menerima parameter dengan tipe berbeda. Pilihan mode ditentukan secara terpisah untuk parameter int dan double . Saat kita menjalankan program, Operation.mod (12,4) menjalankan void.mod (int a, int b) dan Operation.mod (12.4,4.2) menjalankan void.mod (double a, double b) .

Utama

Di Java, kita dapat membuat superclass dan subclass yang mewarisi kelas tersebut. Subkelas ini dapat mengesampingkan dan mengganti metode kelas induk yang diwarisinya. Hal ini dilakukan dengan menggunakan metode Overriding. Hal ini dapat lebih dipahami dengan sebuah contoh:
public class MethodOverriding {
    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.sound();

        Bee bee = new Bee();
        bee.sound();
    }
}

class Animal {
    void sound(){
        System.out.println("Animal sounds");
    }
}

class Cat extends Animal{
    @Override
    void sound() {
        System.out.println("Cat : meow meow");
    }
}

class Bee extends Animal{
    @Override
    void sound() {
        System.out.println("Bee : buzz buzz");
    }
}
Contoh kode ini membuat superkelas bernama Hewan dan subkelas bernama Kucing dan Lebah yang mewarisi superkelas tersebut. Metode suara di superclass ditimpa. Catatan: Pemisahan metode yang kelebihan beban terjadi pada tahap kompilasi. Pemisahan metode yang ditimpa terjadi pada saat runtime.

5 Metode Java yang Belum Anda Ketahui

Sumber: Javarevisited Ekosistem pengembangan Java memiliki banyak alat yang dapat diimpor dan digunakan oleh pemrogram dalam program mereka. Ini termasuk kelas dan metode bawaan. Mereka secara signifikan menyederhanakan pekerjaan programmer dan memungkinkan mereka untuk lebih memahami dan menulis kode. Setiap pengembang harus mengetahuinya. Berikut 5 metode Java yang cukup langka, namun bisa sangat berguna dalam pekerjaan Anda.

1. penurunanTepat

decrementExact() adalah fungsi dasar Java dari kelas Math yang mengurangi/mengurangi argumen tertentu (angka) sebanyak satu dan mengembalikan hasilnya. Fungsi ini merupakan kebalikan dari fungsi incrementExact() . Misalnya, jika argumen yang diberikan adalah 11, maka hasilnya adalah 10. Jika pengurangan argumen menyebabkan tipe datanya meluap, pengecualian akan dilempar. Oleh karena itu, penting untuk berhati-hati saat menggunakan fungsi ini, terutama untuk jumlah yang besar. Biasanya, bilangan bulat digunakan untuk fungsi ini. Sintaksis:
Math.decrementExact(number);
Contoh:
System.out.println(Math.decrementExact(11));
// Output: 10

2.dapatkan SebagaiDouble

getAsDouble() adalah metode milik kelas OptionalDouble . Objek OptionalDouble adalah objek yang berpotensi menampung angka ganda. Metode dalam kelas dapat digunakan untuk mengoperasikan nilai ganda yang ada dalam suatu objek, atau untuk menunjukkan bahwa nilai ganda tersebut tidak terkandung sama sekali. getAsDouble() adalah salah satu metode tersebut dan mengembalikan nilai ganda jika ada. Jika tidak, NoSuchElementException akan dilempar . Sintaksis:
OptionalDoubleObject.getAsDouble();
Contoh:
OptionalDouble num = OptionalDouble.of(15.0);
System.out.println(num.getAsDouble());
// Output: 15.0

3. absTepat

Metode absExact() mirip dengan fungsi abs() di kelas Matematika . Ini mengembalikan nilai absolut suatu angka, yang merupakan nilai positif dari angka tersebut, apa pun tandanya. Satu-satunya perbedaan adalah ia hanya melakukan ini jika ia direpresentasikan secara persis sebagai tipe datanya ( int atau long ). Jika hasil nilai yang dikembalikan melebihi tipe data asli, ArithmeticException akan dilempar . Sintaksis:
Math.absExact(number);
Contoh:
System.out.println(Math.absExact(-11));
// Output: 11

4.berakhirDengan

endWith() adalah metode string bawaan yang mengembalikan nilai boolean bergantung pada apakah string tertentu diakhiri dengan akhiran tertentu (kata akhir/string) di parameternya. Metode ini merupakan kebalikan dari metode startWith() yang mungkin sudah dikenal oleh banyak pengembang. Sintaksis:
String.endsWith(String suffix);
Contoh:
String phrase = "I like bananas";
System.out.println(phrase.endsWith("bananas")); // true
System.out.println(phrase.endsWith("Tandrew")); // false
/* Output:
true
false
*/

5. membagiTanpa tanda

Metode DivideUnsigned() adalah metode dari kelas Integer yang memungkinkan Anda membagi dua angka dan mengembalikan hasil pembagiannya. Bilangan bulat tak bertanda, dibandingkan dengan bilangan bulat bertanda biasa, hanya dapat merepresentasikan bilangan positif. Baik bilangan bulat tak bertanda maupun bilangan bulat bertanda memiliki jumlah angka yang sama dalam rentangnya (ukuran rentangnya adalah 65.536 angka). Namun, karena bilangan bulat tak bertanda tidak boleh negatif, nilai maksimumnya dalam rentang positif jauh lebih tinggi daripada nilai maksimum bilangan bulat bertanda biasa. Untuk menyederhanakannya, kita dapat melihat contoh byte yang ditandatangani dan tidak ditandatangani. Byte memiliki rentang 256 angka. Byte reguler dapat memiliki nilai dari -128 hingga 127. Namun, byte yang tidak ditandatangani dapat memiliki nilai dari 0 hingga 255. Jika tidak, fungsinya sama persis dengan pembagian reguler. Sintaksis:
Integer.divideUnsigned(int dividend, int divisor);
Contoh:
int dividend = 10;
int divisor = 5;
int quotient = Integer.divideUnsigned(dividend, divisor);
System.out.println(quotient);
// Output: 2

Kesimpulan

Berikut ringkasan fungsi dan metode yang dibahas dalam artikel ini:
  • decrementExact - mengurangi/mengurangi angka tertentu dengan 1

  • getAsDouble - bagian dari fungsi OptionalDouble , mengembalikan angka dengan nilai ganda atau menunjukkan ketidakhadirannya

  • absExact - mengembalikan nilai absolut suatu angka jika dapat direpresentasikan sebagai tipe data asli

  • endWith() - mengembalikan nilai boolean bergantung pada apakah akhiran yang ditentukan ada dalam string yang diberikan

  • DivideUnsigned() - melakukan pembagian normal, mengembalikan hasil pembagian angka

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION