Rangkuman: Penghitung dan Utilitas
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Java di Coddy. Pelajaran 19 dari 87.
Tantangan
MudahMari bangun sistem lengkap yang menggabungkan class Counter untuk melacak instance dengan class utilitas MathUtils, yang menyatukan semua yang telah kamu pelajari tentang variabel statis, method statis, blok statis, dan konstanta.
Kamu akan membuat tiga file untuk mengatur kodemu:
Counter.java: Buat class yang melacak jumlah instance yang telah dibuat:- Variabel statis privat untuk menghitung total instance
- Variabel instance privat
idyang menyimpan identifier unik setiap counter - Constructor yang menambah total hitungan dan menetapkan hitungan saat ini sebagai id instance ini
- Method
getId()yang mengembalikan id unik counter ini - Method statis
getTotalCount()yang mengembalikan jumlah object Counter yang telah dibuat
MathUtils.java: Buat class utilitas yang hanya memiliki anggota statis dan tidak pernah dibuat instance-nya:- Konstanta publik
PIdengan nilai3.14159 - Konstanta publik
HALFdengan nilai0.5 - Method statis
square(int n)yang mengembalikan n kuadrat - Method statis
cube(int n)yang mengembalikan n pangkat tiga - Method statis
circleArea(double radius)yang mengembalikan PI * radius * radius
- Konstanta publik
Main.java: Tunjukkan cara kedua class bekerja sama. Kamu akan menerima dua input: angka untuk operasi matematika dan jumlah object Counter yang perlu dibuat. Cetak hasil berikut:Square: [value]Cube: [value]Circle area (radius=[number]): [value](luas diformat hingga 2 angka desimal)- Untuk setiap Counter yang dibuat, cetak:
Counter [id] created - Terakhir:
Total counters: [count]
Kamu akan menerima dua input: angka (int) untuk perhitungan matematika, dan jumlah (int) object Counter yang perlu dibuat.
Ingat untuk mengakses anggota statis melalui nama class, seperti MathUtils.PI dan Counter.getTotalCount(), dan gunakan String.format("%.2f", value) untuk memformat nilai desimal.
Coba sendiri
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
int count = scanner.nextInt();
// TODO: Gunakan method statis MathUtils untuk menghitung dan mencetak:
// - Kuadrat: [value]
// - Kubik: [value]
// - Circle area (radius=[number]): [value] (diformat hingga 2 angka di belakang koma)
// TODO: Buat 'count' object Counter
// Untuk setiap object Counter yang dibuat, cetak: Counter [id] created
// TODO: Cetak jumlah total object Counter yang dibuat
// Total counters: [count]
}
}
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
File EksternalPengantar OOPClass dan ObjectKata Kunci thisMethodField (Atribut)Method KonstruktorOverloading KonstruktorRangkuman: Kalkulator Sederhana4Pewarisan
Pewarisan Dasar (extends)Kata Kunci superMethod Overriding (@Override)Rantai KonstruktorKelas ObjectPewarisan Tunggal dan BertingkatMengapa Tidak Ada Pewarisan Multi-KelasRangkuman: Hierarki Karyawan7method Khusus & class Object
method toString()equals() dan hashCode()method clone()compareTo() dan ComparableAntarmuka ComparatorUlasan: Pengurutan Kustom10Penanganan Exception dalam OOP
Hierarki class ExceptionException KustomError Checked vs UncheckedPola Try-with-ResourcesRekap: Pengguna Tervalidasi2Modifier Akses & Enkapsulasi
Ikhtisar Tingkat AksesMethod Getter dan SetterPenyembunyian InformasiKata Kunci finalUlasan: Pengelola Rekening Bank5Polimorfisme
Dasar method overloadingMethod overriding (Saat program berjalan)Upcasting dan downcastingOperator instanceofclass dan method abstrakUlasan: Kalkulator Bentuk8Konsep OOP Lanjutan
Komposisi vs PewarisanAgregasi vs Komposisiinner, nested, dan anonymous classEnum dan method Enumrecord (Java 16+)sealed class (Java 17+)11Pola Desain Bagian 1
Pengantar Pola DesainPola SingletonPola FactoryPola BuilderPola ObserverPola Strategy3property class dan Anggota Statis
Variabel Instance vs Statismethod StatisBlok StatisKonstanta (static final)Rangkuman: Penghitung dan Utilitas6Antarmuka & Kelas Abstrak
Pengantar AntarmukaMengimplementasikan AntarmukaImplementasi Beberapa AntarmukaDefault & Static pada AntarmukaKelas Abstrak vs AntarmukaAntarmuka FungsionalRekap: Sistem PembayaranLatihan sendiri: Compiler Java online