Penjelasan dan Implementasi Interfaces C# Asp.Net

Interface berisi definisi untuk sekelompok fungsionalitas terkait yang dapat diterapkan oleh class atau struct. Dengan menggunakan interface, kita bisa, mencakup behavior dari berbagai source di class. Kemampuan itu penting dalam C # karena bahasa tidak mendukung banyak inheritance class.

Selain itu, kita harus menggunakan interface jika kita ingin mensimulasikan inheritance untuk struct, karena mereka sebenarnya tidak dapat inheritance dari struct atau class lain. Kita mendefinisikan sebuah interface dengan menggunakan keyword interface, seperti ditunjukkan oleh contoh berikut.
interface IEquatable
{
    bool Equals(T obj);
}
Setiap class atau struct yang mengimplementasikan interface IEquatable harus berisi definisi untuk metode Setara yang sesuai dengan sign yang ditentukan oleh interface

Akibatnya, kita dapat mengandalkan class yang menerapkan IEquatable untuk mengandung metod Setara dengan mana instance dari class dapat menentukan apakah itu sama dengan instance lain dari class yang sama. 

Definisi IEquatable tidak memberikan implementasi untuk Equals. Interface hanya mendefinisikan sign. Dengan cara itu, sebuah interface di C # mirip dengan class abstrak dimana semua metod abstrak

Namun, class atau struct dapat mengimplementasikan beberapa interface, namun class hanya dapat inheritance satu class, abstrak atau tidak. 
Oleh karena itu, dengan menggunakan interface, kita bisa memasukkan behavior dari berbagai resource di class. Interface dapat berisi metod, properti, events, indexers, atau kombinasi dari keempat type anggota tersebut. Untuk tautan ke contoh, lihat Bagian Terkait. Interface tidak boleh berisi konstanta, field, operator, konstruktor, finalizer, atau types

Member interface secara otomatis terbuka, dan mereka tidak dapat menyertakan modifier akses apapun. member juga tidak bisa statis. Untuk menerapkan member interface, member class pelaksana yang bersangkutan harus bersifat publik, non-statis, dan memiliki nama dan sign yang sama dengan member interface

Ketika sebuah class atau struct mengimplementasikan sebuah interface, class atau struct harus menyediakan implementasi untuk semua member yang didefinisikan oleh interface

Interface itu sendiri tidak menyediakan fungsionalitas yang dapat diberikan oleh class atau struct dengan cara mewarisi fungsionalitas base class. Namun, jika base classs mengimplementasikan interface, class apa pun yang berasal dari base class mewarisi penerapannya. Contoh berikut menunjukkan implementasi interface IEquatable .

class pelaksana, Car, harus memberikan implementasi metode Equals.
public class Car : IEquatable
{
    public string Make {get; set;}
    public string Model { get; set; }
    public string Year { get; set; }

    // Implementation of IEquatable interface
    public bool Equals(Car car)
    {
        if (this.Make == car.Make &&
            this.Model == car.Model &&
            this.Year == car.Year)
        {
            return true;
        }
        else
            return false;
    }
}
Previous
Next Post »