Panduan Penggunaan Kelas dan Objek C++: Untuk Pemula

Halo semua, masa depan ahli C++! Saya sangat senang menjadi pemandu Anda dalam perjalanan yang menyegarkan ini ke dunia kelas dan objek C++. Sebagai seseorang yang telah mengajar pemrograman selama bertahun-tahun, saya bisa memberitahu Anda bahwa topik ini seperti belajar untuk membangun dengan blok LEGO – sekali Anda menguasainya, Anda akan dapat membuat hal-hal yang menakjubkan dalam waktu singkat!

C++ Classes & Objects

Apa itu Kelas dan Objek?

Sebelum kita melompat ke detailnya, mari kita mulai dengan analogi yang sederhana. Bayangkan Anda menggambarkan sebuah mobil. Mobil memiliki karakteristik tertentu (warna, model, tahun) dan dapat melakukan tindakan tertentu (menyala, berhenti, percepat). Dalam C++, kelas seperti rancangan untuk mobil, menentukan properti dan tindakan yang harus dimiliki oleh semua mobil. Objek, maka, adalah mobil spesifik yang dibuat dari rancangan tersebut.

Sekarang, mari kita coba melakukan beberapa kode!

Definisi Kelas C++

Dalam C++, kita mendefinisikan kelas menggunakan kata kunci class. Berikut adalah struktur dasar:

class Car {
// Anggota kelas ada di sini
};

Tapi itu hanya seperti garasi yang kosong! Mari kita tambahkan beberapa detail:

class Car {
public:
string color;
string model;
int year;

void start() {
cout << "Mobil ini sedang menyala!" << endl;
}

void stop() {
cout << "Mobil ini sedang berhenti!" << endl;
}
};

Mari kitaurai ini:

  1. Kita telah mendefinisikan sebuah kelas bernama Car.
  2. Di dalam kelas, kita memiliki anggota data (color, model, year) dan fungsi anggota (start(), stop()).
  3. Kata kunci public berarti anggota ini dapat diakses dari luar kelas.

Definisi Objek C++

Sekarang bahwa kita memiliki rancangan mobil kita, mari kita buat beberapa mobil aktual! Ini tempat objek masuk:

int main() {
Car myCar;  // Membuat objek dari kelas Car
Car yourCar;  // Objek lain dari kelas Car

return 0;
}

Selamat! Anda baru saja "membuat" dua mobil. tapi mereka masih agak biasa sekarang – mari kita berikan mereka beberapa kepribadian!

Mengakses Anggota Data

Untuk mengatur atau mendapatkan nilai dari properti mobil kita, kita menggunakan operator titik (.):

int main() {
Car myCar;

// Mengatur nilai
myCar.color = "Merah";
myCar.model = "Sportster";
myCar.year = 2023;

// Mendapatkan nilai
cout << "Mobil saya adalah " << myCar.color << " " << myCar.model << " tahun " << myCar.year << endl;

// Memanggil fungsi anggota
myCar.start();
myCar.stop();

return 0;
}

Output:

Mobil saya adalah Merah Sportster tahun 2023
Mobil ini sedang menyala!
Mobil ini sedang berhenti!

Lihat bagaimana kita berinteraksi dengan objek myCar kita? Kita mengatur warna, model, dan tahunnya, lalu mencetak nilai那些, dan akhirnya memanggil fungsi anggotanya.

Kelas dan Objek Dalam Detil

Sekarang bahwa kita telah menguasai dasar-dasar, mari kita wading sedikit lebih dalam. Dalam C++, kelas biasanya memiliki dua seksi utama:

  1. Anggota pribadi: Ini dapat diakses hanya di dalam kelas.
  2. Anggota publik: Ini dapat diakses dari luar kelas.

Berikut adalah versi yang ditingkatkan dari kelas Car kita:

class Car {
private:
string color;
string model;
int year;
bool isRunning;

public:
// Konstruktor
Car(string c, string m, int y) {
color = c;
model = m;
year = y;
isRunning = false;
}

// Metode getter
string getColor() { return color; }
string getModel() { return model; }
int getYear() { return year; }

// Metode lainnya
void start() {
if (!isRunning) {
isRunning = true;
cout << "Mobil " << color << " " << model << " sedang menyala!" << endl;
} else {
cout << "Mobil sudah berjalan!" << endl;
}
}

void stop() {
if (isRunning) {
isRunning = false;
cout << "Mobil " << color << " " << model << " sedang berhenti!" << endl;
} else {
cout << "Mobil sudah berhenti!" << endl;
}
}
};

Versi ini memperkenalkan beberapa konsep baru:

  1. Anggota pribadi: Kita telah menjadikan anggota data kita sebagai pribadi untuk enkapsulasi yang lebih baik.
  2. Konstruktor: Fungsi khusus ini dipanggil saat objek dibuat, menginisialisasi nilai-nilainya.
  3. Metode getter: Ini memungkinkan akses terkontrol ke anggota data pribadi kita.
  4. Metode yang ditingkatkan: Metode start() dan stop() kita sekarang memeriksa status mobil sebelum bertindak.

Mari lihat bagaimana kita menggunakan kelas yang ditingkatkan ini:

int main() {
Car myCar("Merah", "Sportster", 2023);

cout << "Mobil saya adalah " << myCar.getColor() << " " << myCar.getModel()
<< " tahun " << myCar.getYear() << endl;

myCar.start();
myCar.start();  // Coba untuk menyala lagi
myCar.stop();
myCar.stop();  // Coba untuk berhenti lagi

return 0;
}

Output:

Mobil saya adalah Merah Sportster tahun 2023
Mobil Merah Sportster sedang menyala!
Mobil sudah berjalan!
Mobil Merah Sportster sedang berhenti!
Mobil sudah berhenti!

Apakah itu keren? Mobil kita sekarang bertindak lebih seperti mobil nyata – dia tidak bisa menyala jika sudah berjalan, dan dia tidak bisa berhenti jika sudah berhenti.

Tabel Metode

Berikut adalah tabel ringkasan metode di kelas Car yang ditingkatkan kita:

Metode Deskripsi
Car(string c, string m, int y) Konstruktor: Menginisialisasi objek Car baru
string getColor() Mengembalikan warna mobil
string getModel() Mengembalikan model mobil
int getYear() Mengembalikan tahun mobil
void start() Menyalakan mobil jika belum berjalan
void stop() Menghentikan mobil jika sedang berjalan

Dan itu adalah! Anda baru saja membuat kelas C++ pertama Anda dan membuat objek dari itu. Ingat, praktek membuat perfect, jadi jangan takut untuk bereksperimen dengan kelas dan objek Anda sendiri. Mungkin coba membuat kelas Garage yang dapat menyimpan beberapa objek Car?

Terus kode, terus belajar, dan yang paling penting, bersenang-senang! Sebelum Anda sadar, Anda akan menjadi orang yang mengajar orang lain tentang keajaiban kelas dan objek C++. Sampai jumpa lagi, happy coding!

Credits: Image by storyset