C# – Classes

Segala sesuatu di C# selalu berhubungan dengan class dan object, bersama dengan atribut dan methodnya. Sebagai contoh : Dalam kehidupan nyata, Siswa adalah sebuah objek. Siswa memiliki atribut, seperti nama dan jenis kelamin, dan punya method, seperti menulis dan membaca.

Class seperti konstruktor object, atau cetak biru (blueprint) untuk membuat object. Dalam C#, sebuah class dapat didefinisikan dengan menggunakan keyword Class. Class memungkinkan Anda membuat tipe data custom dengan mengelompokkan variabel, method, dan event lainnya.

Dalam Class mempunyai banyak teori dan prakteknya, kami akan memberikan contoh membuat variasi class di C#, berikut adalah nama dari masing masing variasinya :

  • Access Modifier
  • Class Name
  • Field
  • Field dengan value
  • Constructor
  • Constructor dengan parameter
  • Method/Function
  • Method/Function dengan parameter
  • Auto-implemented property
  • Auto-implemented property dengan value default
  • Property
  • Property dengan value default
  • namespace dalam class

Sekarang kalian bisa membuat project baru Console App, Kemudian namakan “Belajar Dasar Membuat Class”, Jika sudah kalian bisa memasukan coding dibawah ini :

Class1 declarateClass = new Class1();
declarateClass.Method("King", "Learn");

Console.WriteLine(declarateClass.field);
declarateClass.field = "set Field";
Console.WriteLine(declarateClass.field);

Console.WriteLine(declarateClass.field1);
declarateClass.field1 = "set Field1";
Console.WriteLine(declarateClass.field1);

Console.WriteLine("prop1 " + declarateClass.prop1);
declarateClass.prop1 = 100;
Console.WriteLine("prop1 " + declarateClass.prop1);

Console.WriteLine("prop2 " + declarateClass.prop2);
declarateClass.prop2 = 5000;
Console.WriteLine("prop2 " + declarateClass.prop2);

Console.WriteLine("PropertyVar " + declarateClass.PropertyVar);
declarateClass.PropertyVar = 1111;
Console.WriteLine("PropertyVar " + declarateClass.PropertyVar);

Console.WriteLine("PropertyVar1 " + declarateClass.PropertyVar1);
declarateClass.PropertyVar1 = 2222;
Console.WriteLine("PropertyVar1 " + declarateClass.PropertyVar1);

Class1 declarateClass1 = new Class1("Contoh parameter dalam konstruktor");

public class Class1
{
    public string field;
    public string field1 = "Contoh Field1";
    public Class1()
    {

    }
    public Class1(string parameter1)
    {
        Console.WriteLine("Parameter Pertama Pada Constructor {0}",
            parameter1);
    }
    public void Method(string parameter1, string parameter2)
    {
        Console.WriteLine("Contoh parameter dalam method");
        Console.WriteLine("Parameter Pertama {0}, Parameter Kedua {1}", 
            parameter1, parameter2);
    }
    public int prop1 { get; set; }
    public int prop2 { get; set; } = 500;
    private int propVar;
    public int PropertyVar
    {
        get { return propVar; }
        set { propVar = value; }
    }
    private int propVar1 = 900;
    public int PropertyVar1
    {
        get { return propVar1; }
        set { propVar1 = value; }
    }
}

namespace Hewan
{
    class Singa
    {

    }
    class Buaya
    {

    }
}

namespace Buah
{
    class Apel
    {

    }
    class Durian
    {

    }
}

Baiklah jika sudah kalian bisa jalankan satu persatu sesuai yang kita bahas nanti dibawah ini, atau jalankan sekaligus.

Access Modifier

Access modifiers diterapkan pada deklarasi class, method, properti, field, dan member lainnya. Mereka mendefinisikan aksesibilitas class dan atributnya. Public, private, protected, dan internal adalah Access modifiers di C#. Kamu sudah mempelajarinya di bagian bab Keyword pada bab sebelumnya.

public class Class1

Pada contoh ini kita menggunakan akses class ini menjadi public.

Class Name

Class name adalah penamaan suatu object dari class.

public class Class1

Dalam contoh ini kita menamainya sebagai Class1

Field

Field adalah lokasi penyimpanan untuk menyimpan nilai dari atribut. Pada Umumnya, field harus memiliki access modifier private atau public dan digunakan untuk property.

public string field;

Field dengan value

Field dengan value adalah lokasi penyimpanan untuk menyimpan nilai dari atribut yang sudah ada value default.

public string field1 = "Contoh Field1";

Constructor

Sebuah class dapat memiliki konstruktor berparameter atau tanpa parameter. Konstruktor akan dipanggil saat Anda membuat instance class.

Konstruktor dapat didefinisikan dengan menggunakan access modifier dan nama kelas :

public Class1() { }

Konstruktor dapat didefinisikan hanya menggunakan nama kelas :

Class1() { }

Constructor dengan parameter

Berikut ini adalah contoh konstruktor dengan parameter, dan menggunakan access modifier public :

public Class1(string parameter1)
{
    Console.WriteLine("Parameter Pertama Pada Constructor {0}", parameter1);
}

Method atau Function

Sebuah method dapat didefinisikan menggunakan template berparameter atau tanpa parameter.

Berikut contoh method tanpa parameter :

public void Method()
{
    Console.WriteLine("Contoh tanpa parameter dalam method");
}

Method atau Function dengan parameter

Berikut contoh method berparameter :

public void Method(string parameter1, string parameter2)
{
    Console.WriteLine("Contoh parameter dalam method");
    Console.WriteLine("Parameter Pertama {0}, Parameter Kedua {1}", parameter1, parameter2);
}

Auto-implemented property

Berikut ini adalah contoh properti yang diimplementasikan secara otomatis :

public int prop1 { get; set; }

Perhatikan bahwa tidak ada field pendukung dalam contoh property di atas. Field dukungan akan dibuat secara otomatis oleh kompiler. Property yang diimplementasikan secara otomatis hanya untuk deklarasi property yang mudah ketika tidak ada logika tambahan yang diperlukan dalam mengakses property.

Auto-implemented property dengan value default

Berikut ini adalah contoh properti yang diimplementasikan secara otomatis tetapi mempunyai value default :

public int prop2 { get; set; } = 500;

Property

Sebuah property dapat didefinisikan menggunakan getter dan setter, seperti yang ditunjukkan di bawah ini :

private int propVar;
public int PropertyVar
{
    get { return propVar; }
    set { propVar = value; }
}

Property dengan value default

Sebuah property dapat didefinisikan menggunakan getter dan setter, seperti yang ditunjukkan di bawah ini, tetapi dengan field value default :

private int propVar1 = 900;
public int PropertyVar1
{
    get { return propVar1; }
    set { propVar1 = value; }
}

Bisa juga seperti dibawah, Value default return getternya adalah 900

private int propVar1;
public int PropertyVar1
{
    get { return 900; }
    set { propVar1 = value; }
}

Bisa juga seperti dibawah, Memberikan logika pada saat setter value, ketika lebih dari 900 value menjadi 900.

private int propVar1;
public int PropertyVar1
{
   get { return propVar1; }
   set {
      if (value > 900)
         propVar1 = 900;
      else
         propVar1 = value;
   }
}

namespace dalam class

Namespace (Dalam Indonesia: Ruang Nama) adalah ruang lingkup dengan nama digunakan untuk pengelompokan entitas seperti Class, Variable, Object dan Method atau Function. Namespace digunakan sebagai cara untuk memisahkan file-file class kedalam kelompok yang terkait.

Selain itu, penggunaan namespace juga bisa membantu menghindari bentroknya penamaan dalam service yang mungkin berisi beberapa class dengan nama yang sama. Namespace juga digunakan untuk memberikan nama unik ke class dalam nama namespace. Namespace dan kelas direpresentasikan menggunakan titik (.). Dalam C#, namespace dapat didefinisikan menggunakan keyword namespace.

Berikut adalah contoh membagi class dengan kelompok : Dalam Contoh di bawah saya membuat 2 Kelompok yaitu, Hewan dan Buah. Didalam Kelompok namespace hewan saya masukan Class Singa dan Buaya, Didalam namespace Buah saya masukan Class Apel dan Durian, berikut adalah contoh penggunakan namespace dalam Class, kita bisa membaginya menjadi beberapa kelompok.

namespace Hewan
{
    class Singa
    {

    }
    class Buaya
    {

    }
}

namespace Buah
{
    class Apel
    {

    }
    class Durian
    {

    }
}

Berikut ini adalah pengelompokan class dalam namespace :

C# - Classes - Contoh Namespace Class
C# – Classes – Contoh Namespace Class

Leave a Reply

Your email address will not be published. Required fields are marked *