Menu
CoddyTech

Class Statis

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan C# di Coddy. Pelajaran 13 dari 70.

Jika sebuah class hanya berisi member static dan kamu tidak perlu membuat instance darinya, kamu dapat mendeklarasikan seluruh class sebagai static. Ini memberi tahu compiler bahwa class tersebut tidak dapat dibuat menjadi instance dan hanya dapat berisi member static.

public static class MathHelper
{
    public static double Pi = 3.14159;
    
    public static int Square(int number)
    {
        return number * number;
    }
    
    public static int Add(int a, int b)
    {
        return a + b;
    }
}

Kamu menggunakan static class dengan cara yang sama seperti menggunakan anggota static, yaitu dengan memanggilnya langsung melalui nama class:

int result = MathHelper.Square(5);
double pi = MathHelper.Pi;

class statis memiliki batasan penting. Kamu tidak dapat membuat instance dengan new, class ini tidak dapat memiliki konstruktor instance, dan tidak dapat diwariskan. class ini hanya dapat berisi field, property, dan method statis.

class Console dan Math yang selama ini kamu gunakan adalah contoh sempurna dari class statis. Keduanya menyediakan fungsionalitas utilitas tanpa memerlukan state object. Class statis ideal untuk mengelompokkan method bantuan atau konstanta terkait yang tidak memerlukan data khusus untuk setiap instance.

challenge icon

Tantangan

Mudah

Mari buat utilitas konversi suhu menggunakan class statis untuk mengelompokkan method pembantu terkait yang tidak memerlukan state object.

Kamu akan membuat dua file untuk mengatur kodemu:

  • TemperatureConverter.cs: Definisikan class statis bernama TemperatureConverter di namespace Utilities. Class ini harus berisi:
    • Field statis AbsoluteZeroCelsius yang ditetapkan ke -273.15
    • Method statis CelsiusToFahrenheit(double celsius) yang mengonversi Celsius ke Fahrenheit menggunakan rumus: (celsius * 9 / 5) + 32
    • Method statis FahrenheitToCelsius(double fahrenheit) yang mengonversi Fahrenheit ke Celsius menggunakan rumus: (fahrenheit - 32) * 5 / 9
    • Method statis IsAboveAbsoluteZero(double celsius) yang mengembalikan true jika suhu berada di atas nol mutlak
  • Program.cs: Di file utamamu, gunakan class statis untuk melakukan konversi. Baca nilai suhu dalam Celsius dari input, lalu tampilkan hasil konversi dan validasinya.

Kamu akan menerima satu input: nilai suhu dalam Celsius.

Cetak hasilnya dengan format berikut:

{celsius}C = {fahrenheit}F
{fahrenheit}F = {convertedBack}C
Above Absolute Zero: {True/False}
Absolute Zero: {AbsoluteZeroCelsius}C

Misalnya, jika inputnya adalah 25, outputnya akan seperti ini:

25C = 77F
77F = 25C
Above Absolute Zero: True
Absolute Zero: -273.15C

Ingat, class statis tidak dapat dibuat menjadi instance. Kamu akan memanggil semua method langsung pada nama class, seperti TemperatureConverter.CelsiusToFahrenheit(25).

Coba sendiri

using System;
using Utilities;

class Program
{
    public static void Main(string[] args)
    {
        // Baca suhu dalam Celsius
        double celsius = Convert.ToDouble(Console.ReadLine());
        
        // TODO: Gunakan method statis TemperatureConverter untuk:
        // 1. Konversi celsius ke fahrenheit
        // 2. Konversi fahrenheit kembali ke celsius
        // 3. Periksa apakah suhu di atas nol mutlak
        // 4. Ambil konstanta nol mutlak
        
        // TODO: Cetak hasilnya dalam format yang diminta:
        // {celsius}C = {fahrenheit}F
        // {fahrenheit}F = {convertedBack}C
        // Above Absolute Zero: {True/False}
        // Absolute Zero: {AbsoluteZeroCelsius}C
        
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler C# online