Pada artikel ini kita akan belajar tentang bagaimana dan mengapa kelas parsial dan metode parsial diimplementasikan di C #.
Ada banyak situasi ketika Anda mungkin perlu membagi definisi kelas, seperti saat mengerjakan proyek berskala besar, beberapa pengembang dan pemrogram mungkin perlu bekerja di kelas yang sama pada waktu yang sama. Dalam hal ini kita bisa menggunakan fitur bernama Partial Class .
Pengantar Kelas Parsial
Saat memprogram dalam C # (atau OOP), kita dapat membagi definisi kelas menjadi dua atau lebih file sumber. File sumber berisi bagian dari definisi kelas, dan semua bagian digabungkan saat aplikasi dikompilasi. Untuk memisahkan definisi kelas, kita perlu menggunakan partial
kata kunci.
Contoh 1:
Kami memiliki proyek bernama HeightWeightInfo
yang menunjukkan tinggi dan berat.
Kami memiliki file bernama File1.cs
dengan kelas parsial bernama Record. Ini memiliki dua variabel integer h & w dan metode / konstruktor bernama Record yang memberikan nilai h & w.
namespace HeightWeightInfo ( class File1 ( ) public partial class Record ( private int h; private int w; public Record(int h, int w) ( this.h = h; this.w = w; ) ) )
Berikut adalah file lain bernama File2.cs dengan Record kelas parsial yang sama yang hanya memiliki metode PrintRecord. Cara ini akan menampilkan nilai h & w.
namespace HeightWeightInfo ( class File2 ( ) public partial class Record ( public void PrintRecord() ( Console.WriteLine("Height:"+ h); Console.WriteLine("Weight:"+ w); ) ) )
Di sini sekarang kita dapat melihat metode utama proyek:
namespace HeightWeightInfo ( class Program ( static void Main(string() args) ( Record myRecord = new Record(10, 15); myRecord.PrintRecord(); Console.ReadLine(); ) ) )
Di sini kita memiliki objek dari kelas Record sebagai myRecord yang meneruskan nilai parameter sebagai 10 dan 15 ke h dan w masing-masing ke metode yang ditentukan di File1.cs
.
Metode PrintRecord dipanggil oleh objek myRecord yang didefinisikan di File2.cs
.
Ini menunjukkan bahwa partial
kata kunci membantu menggabungkan semua atribut kelas yang ditentukan dalam berbagai file untuk bekerja sebagai satu kelas.
Tempat dimana partial
kelas dapat digunakan:
- Saat mengerjakan proyek yang lebih besar dengan lebih dari satu pengembang, ini membantu pengembang untuk mengerjakan kelas yang sama secara bersamaan.
- Kode dapat ditambahkan atau dimodifikasi ke kelas tanpa membuat ulang file sumber yang secara otomatis dibuat oleh IDE (mis. Visual Studio).
Hal-hal yang Perlu Diingat tentang Kelas Parsial
Kata partial
kunci menentukan bahwa bagian lain dari kelas dapat didefinisikan dalam namespace. Kata kunci parsial wajib digunakan jika kita mencoba membuat kelas menjadi parsial. Semua bagian kelas harus berada dalam namespace yang sama dan tersedia pada waktu kompilasi untuk membentuk tipe akhir. Semua bagian harus memiliki pengubah akses yang sama yaitu privat, publik, atau sebagainya.
- Jika ada bagian yang dinyatakan abstrak, maka seluruh tipe dianggap abstrak.
- Jika ada bagian yang dinyatakan tertutup, maka seluruh jenis dianggap tertutup.
- Jika ada bagian yang mendeklarasikan tipe dasar, maka tipe keseluruhan mewarisi kelas itu.
- Setiap anggota kelas yang dinyatakan dalam definisi parsial tersedia untuk semua bagian lainnya.
- Semua bagian dari kelas parsial harus berada dalam namespace yang sama.
** Catatan: The partial
pengubah tidak tersedia pada delegasi atau enumerasi deklarasi
Pengantar Metode Parsial
Kelas parsial mungkin berisi metode parsial. Salah satu bagian kelas berisi tanda tangan metode. Implementasi opsional dapat ditentukan di bagian yang sama atau bagian lain. Jika implementasinya tidak disediakan, maka metode dan semua panggilan akan dihapus pada waktu kompilasi.
Contoh 2:
Mari kita ambil contoh sebagai kelas parsial Car
didefinisikan dalam file1.cs
yang memiliki tiga metode InitializeCar (), BuildRim () dan BuildWheels (). Di antara metode tersebut, InitializeCar didefinisikan sebagai partial
.
public partial class Car ( partial void InitializeCar(); public void BuildRim() ( ) public void BuildWheels() ( ) )
Dan kami memiliki file lain bernama as file2.cs
yang memiliki dua metode BuildEngine dan InitializeCar. Metode InitializeCar adalah metode parsial yang juga didefinisikan dalam file1.cs
.
public partial class Car ( public void BuildEngine() ( ) partial void InitializeCar() ( string str = "Car"; ) )
Deklarasi metode parsial terdiri dari dua bagian:
- Definisi seperti dalam
file1.cs
. - Implementasinya seperti pada
file2.cs
.
Mereka mungkin berada di bagian terpisah dari kelas parsial, atau di bagian yang sama.
Hal yang perlu diingat tentang Metode Parsial
partial
kata kunci.- tipe pengembalian
void
. - secara implisit
private
. - dan tidak bisa
virtual
.