Ruang nama dalam Pemrograman C#
Ruang nama dalam Pemrograman C#
Dalam tutorial ini, kita akan belajar tentang Namespace, cara mendefinisikannya, mengakses anggotanya, dan menggunakannya dalam program C#.
Ruang nama digunakan dalam C# untuk mengatur dan menyediakan tingkat pemisahan kode. Mereka dapat dianggap sebagai wadah yang terdiri dari ruang nama lain, kelas, dll.
Namespace dapat memiliki tipe berikut sebagai anggotanya:
- Ruang Nama (Ruang Nama Bersarang)
- Kelas
- Antarmuka
- Struktur
- Delegasi
Kami akan membahas tentang topik ini di tutorial selanjutnya. Untuk saat ini kita akan tetap menggunakan kelas dan ruang nama.
Namespace tidak wajib dalam program C#, tetapi mereka memainkan peran penting dalam menulis kode yang lebih bersih dan mengelola proyek yang lebih besar.
Mari kita pahami konsep namespace dengan skenario kehidupan nyata. Kami memiliki sejumlah besar file dan folder di komputer kami. Bayangkan betapa sulitnya mengelolanya jika ditempatkan dalam satu direktori. Inilah sebabnya kami menempatkan file dan folder terkait di direktori terpisah. Ini membantu kami mengelola data dengan benar.
Konsep namespace serupa di C#. Ini membantu kami untuk mengatur anggota yang berbeda dengan menempatkan anggota terkait di namespace yang sama.
Namespace juga memecahkan masalah konflik penamaan . Dua atau lebih kelas ketika dimasukkan ke dalam ruang nama yang berbeda dapat memiliki nama yang sama.
Mendefinisikan Namespace di C#
Kita dapat mendefinisikan namespace di C# menggunakan namespace kata kunci sebagai:
namespace Namespace-Name
{
//Body of namespace
}
Misalnya:
namespace MyNamespace
{
class MyClass
{
public void MyMethod()
{
System.Console.WriteLine("Creating my namespace");
}
}
}
Dalam contoh di atas, namespace MyNamespace
dibuat. Ini terdiri dari kelas MyClass
sebagai anggotanya. MyMethod
adalah metode kelas MyClass
.
Mengakses Anggota Namespace di C#
Anggota namespace dapat diakses menggunakan dot(.)
operator. Sintaks untuk mengakses anggota namespace adalah,
Namespace-Name.Member-Name
Misalnya, jika kita perlu membuat objek MyClass, itu bisa dilakukan sebagai,
MyNamespace.MyClass myClass = new MyNamespace.MyClass();
Kita akan membahas tentang membuat objek di tutorial selanjutnya. Untuk saat ini hanya fokus pada bagaimana kelas MyClass
diakses.
Contoh 1:Memperkenalkan Namespace di Program C#
using System;
namespace MyNamespace
{
public class SampleClass
{
public static void myMethod()
{
Console.WriteLine("Creating my namespace");
}
}
}
namespace MyProgram
{
public class MyClass
{
public static void Main()
{
MyNamespace.SampleClass.myMethod();
}
}
}
Saat kita menjalankan program, outputnya adalah:
Creating my namespace
Dalam program di atas, kita telah membuat namespace kita sendiri MyNamespace
dan mengakses anggotanya dari Main()
metode di dalam MyClass
. Seperti yang dikatakan sebelumnya, dot (.)
operator digunakan untuk mengakses anggota namespace.
Dalam Main()
metode, myMethod()
metode dipanggil menggunakan dot (.)
operator.
Menggunakan Namespace di C# [Menggunakan Kata Kunci]
Namespace dapat dimasukkan ke dalam program menggunakan kata kunci using. Sintaksnya adalah,
using Namespace-Name;
Misalnya,
using System;
Keuntungan dari pendekatan ini adalah kita tidak perlu menentukan nama lengkap anggota namespace tersebut setiap kali kita mengaksesnya.
Setelah garis
using System;
disertakan di bagian atas program. Kita bisa menulis
Console.WriteLine("Hello World!");
Alih-alih nama yang sepenuhnya memenuhi syarat yaitu
System.Console.WriteLine("Hello World!");
Namespace bersarang di C#
Namespace dapat berisi namespace lain. Ini disebut namespace bersarang. Namespace bersarang dan anggotanya juga dapat diakses menggunakan dot (.)
operator.
Sintaks untuk membuat namespace bersarang adalah sebagai berikut:
namespace MyNamespace
{
namespace NestedNamespace
{
// Body of nested namespace
}
}
Contoh 2:Namespace Bersarang di C#
using System;
// Nested Namespace
namespace MyNamespace
{
namespace Nested
{
public class SampleClass
{
public static void myMethod()
{
Console.WriteLine("Nested Namespace Example");
}
}
}
}
namespace MyProgram
{
public class MyClass
{
public static void Main()
{
MyNamespace.Nested.SampleClass.myMethod();
}
}
}
Saat kita menjalankan program, outputnya adalah:
Nested Namespace Example
Contoh ini menggambarkan bagaimana namespace bersarang dapat diimplementasikan di C#.
Di sini, kita sekarang memiliki namespace tambahan di dalam MyNamespace
disebut Nested
. Jadi, alih-alih menggunakan MyNamespace.SampleClass.myMethod()
, kita harus menggunakan MyNamespace.Nested.SampleClass.myMethod()
.