Langsung ke konten utama

Polimorfisme, Overloading dan Overriding

Polimorfisme berasal dari kata Poly artinya banyak, morfisme artinya bentuk. Polimorfisme adalah sebuah prinsip di mana class dapat memiliki banyak “bentuk” method yang berbeda-beda meskipun namanya sama. “Bentuk” di sini dapat kita artikan sebagai  isinya berbeda, parameternya berbeda, dan tipe datanya berbeda.

Polimorfisme adalah kemampuan suatu objek untuk mengungkapkan banyak hal melalui satu cara yang sama. Polimorfisme mengizinkan kelas induk untuk mendefinisikan sebuah method general (bersifat umum) untuk semua kelas turunanya, dan selanjutnya kelas-kelas turunan dapat memperbaharui implementasi dari method tersebut secara lebih spesifik sesuai dengan karakteristiknya masing-masing.

Polimorfisme pada Java ada dua macam:

1.      Static Polymorphism (Polimorfisme statis).

2.      Dynamic Polymorphism (Polimorfisme dinamis).

Beda dari keduanya terletak pada cara membuat polimorfismenya.

Polimorfisme statis menggunakan method overloading, sedangkan polimorfisme dinamis menggunakan method overriding.

Implementasi Polimorfisme :





Overloading adalah sebuah method yang memiliki nama method yang sama dengan method lain yang membedakan adalah parameter pada method tersebut dalam satu class. Perbedaan parameter meliputi jumlah parameter, tipe data parameter, urutan tipe data parameter.

Implementasi Overloading :






Overriding adalah sebuah method yang terdapat pada subclass yang nama methodnya sama seperti method pada superclass.

Syarat :

·         Nama method dan parameter method pada subclass sama dengan nama method pada superclass.

·         Hak akses pada method overriding tidak boleh lebih ketat dari  method pada superclass

Implementasi Overriding :


Perbedaan Polimorfisme dan Inheritance

·         Inheritance (penurunan sifat / pewarisan bertujuan membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya (pewarisan).

·         Polimorfisme dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.

·         Inheritance mengacu pada penggunaan struktur dan perilaku kelas super dalam subkelas.

·         Polimorfisme mengacu pada mengubah perilaku kelas super di subkelas.

·         Inheritance merupakan kelas mewarisi bidang dan metode dari semua superclasses, baik langsung atau tidak langsung. Subclass dapat menimpa metode yang diwarisi, atau dapat menyembunyikan bidang atau metode yang diwarisi .

·         Sedangkan Polimorfisme mengacu pada prinsip dalam biologi di mana suatu organisme atau spesies dapat memiliki berbagai bentuk atau tahapan. Prinsip ini juga dapat diterapkan pada pemrograman dan bahasa berorientasi objek seperti bahasa Java. Subclass dari suatu kelas dapat mendefinisikan perilaku unik mereka sendiri dan berbagi fungsi yang sama dari kelas induknya. polimorfisme tidak berlaku untuk bidang.

 

Perbedaan Overloading Dan Overriding

·         Metode overloading adalah polimorfisme waktu kompilasi. Metode overriding adalah polimorfisme run time.

·         Overloading Ini membantu meningkatkan keterbacaan program. Sementara itu overriding digunakan untuk memberikan implementasi spesifik pada metode yang sudah tersedia oleh class induknya atau kelas super.

·         Overloading ini terjadi di dalam kelas. Sementara itu overriding dilakukan dalam dua kelas dengan hubungan warisan.

·         Metode overloading mungkin atau mungkin tidak memerlukan pewarisan. Sementara metode override selalu membutuhkan pewarisan.

·         Dalam hal ini, metode overloading harus memiliki nama  sama dan class yang berbeda. Sementara dalam hal ini, metode overriding harus memiliki nama dan class yang sama.

·         Dalam metode overloading, tipe pengembalian bisa atau tidak bisa sama, tetapi kita harus mengubah parameter. Sementara dalam overriding, tipe pengembalian harus sama atau ko-varian.

 

Nama    : Yohanes Bosco Chrisro Setya Atmaka

NPM    : 19316049

Kelas    : TK 19 C

Komentar

Postingan populer dari blog ini

ALGORITMA BRANCH AND BOUND

  ALGORITMA BRANCH AND BOUND Algoritma Branch and Bound adalah metode algoritma umum untuk mencari solusi optimal dari dari berbagai permasalahan optimasi, terutama untuk optimasi diskrit dan kombinatorial. Sebagaimana pada algoritma runut-balik, algoritma Branch and Bound juga merupakan metode pencarian di dalam ruang solusi secara sistematis. Ruang solusi diorganisasikan ke dalam pohon ruang status. Yang membedakan keduanya adalah bila pada algoritma runut-balik, ruang solusi dibangun secara dinamis berdasarkan skema DFS (Depth First Search), maka pada algoritma Branch and Bound ruang solusi dibangun dengan skema BFS (Breadth First Search). Pada algoritma ini, permasalahan dibagi bagi menjadi subregion subregion yang mungkin mengarah ke solusi. Inilah yang disebut dengan branching, mengingat prosedur ini akan dilakukan berulang ulang secara rekursif untuk setiap subregion dan setiap subregion yang dihasilkan akan membentuk sebuah struktur pohon yang disebut sebagai pohon pencar...

Tugas Pertemuan 13 Bahasa Indonesia

  SISTEM KONTROL SMART HOME MENGGUNAKAN ARDUINO UNO BERBASIS ANDROID     PROPOSAL SKRIPSI Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Sarjana Komputer dari Fakultas Teknik dan Ilmu Komputer Universitas Teknokrat Indonesia     Disusun oleh : YOHANES BOSCO CHRISTO SETYA ATMAKA 19316049         PROGRAM STUDI S1 TEKNIK KOMPUTER FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS TEKNOKRAT INDONESIA 2021 BAB I PENDAHULUAN   1.1.   Latar Belakang Perkembangan teknologi belakangan ini telah banyak membantu dalam meningkatkan kualitas dan kesejahteraan hidup manusia, salah satunya adalah pengembangan suatu sistem otomasi rumah. Rancang bangun sistem otomasi rumah sudah bukan hal umum ada di kalangan elite. Dengan berbagai fasilitas yang ada, sistem otomasi rumah nantinya bisa memudahkan pemiliknya untukmen jaga dan memberikan kenyamanan bag...

Latent Defects

  U niversitas Teknokrat Indonesia Website UTI :    https://teknokrat.ac.id/   Website FTIK :   https://ftik.teknokrat.ac.id/ Nama     :  Yohanes Bosco Christo Setya Atmaka NPM       :  19316049 Kelas      :  TK 20 A      Disini saya akan menjelaskan tentang Latent Defect (cacat laten) di dunia nyata yang berkontribusi pada kegagalan yang menyebabkan insiden atau kecelakaan. Latent Defect  Cacat laten, artinya komponen yang rusak atau rusak. Kegagalan laten adalah jenis yang kurang terlihat. Di situlah perangkat telah rusak tetapi tidak langsung gagal. Karena kerusakan tidak mudah terlihat, kerusakan berikutnya dapat terus terjadi sebelum terjadi kegagalan. Karena perangkat terdegradasi sebagian, kegagalan dapat terjadi di lain waktu bahkan bertahun-tahun kemudian. Contoh Latent Defect  1. Electrostatic Discharge Pelepasan muatan listrik statis (Electrostatic Discharge) telah ada sej...