Bahasa C
Dalam tutorial ini, kita akan belajar tentang antarmuka C# dengan bantuan contoh.
Dalam C#, sebuah antarmuka mirip dengan kelas abstrak. Namun, tidak seperti kelas abstrak, semua metode antarmuka sepenuhnya abstrak (metode tanpa isi).
Kami menggunakan interface
kata kunci untuk membuat antarmuka. Misalnya,
interface IPolygon {
// method without body
void calculateArea();
}
Di sini,
Kami tidak dapat membuat objek antarmuka. Untuk menggunakan antarmuka, kelas lain harus mengimplementasikannya. Sama seperti di C# Inheritance, kami menggunakan :
simbol untuk mengimplementasikan antarmuka. Misalnya,
using System;
namespace CsharpInterface {
interface IPolygon {
// method without body
void calculateArea(int l, int b);
}
class Rectangle : IPolygon {
// implementation of methods inside interface
public void calculateArea(int l, int b) {
int area = l * b;
Console.WriteLine("Area of Rectangle: " + area);
}
}
class Program {
static void Main (string [] args) {
Rectangle r1 = new Rectangle();
r1.calculateArea(100, 200);
}
}
}
Keluaran
Area of Rectangle: 20000
Dalam contoh di atas, kami telah membuat antarmuka bernama IPolygon . Antarmuka berisi metode calculateArea(int a, int b)
tanpa implementasi.
Di sini, Persegi Panjang kelas mengimplementasikan IPolygon . Dan, menyediakan implementasi calculateArea(int a, int b)
metode.
Catatan :Kita harus menyediakan implementasi semua metode antarmuka di dalam kelas yang mengimplementasikannya.
Tidak seperti pewarisan, kelas dapat mengimplementasikan banyak antarmuka. Misalnya,
using System;
namespace CsharpInterface {
interface IPolygon {
// method without body
void calculateArea(int a, int b);
}
interface IColor {
void getColor();
}
// implements two interface
class Rectangle : IPolygon, IColor {
// implementation of IPolygon interface
public void calculateArea(int a, int b) {
int area = a * b;
Console.WriteLine("Area of Rectangle: " + area);
}
// implementation of IColor interface
public void getColor() {
Console.WriteLine("Red Rectangle");
}
}
class Program {
static void Main (string [] args) {
Rectangle r1 = new Rectangle();
r1.calculateArea(100, 200);
r1.getColor();
}
}
}
Keluaran
Area of Rectangle: 20000 Red Rectangle
Pada contoh di atas, kita memiliki dua antarmuka, IPolygon dan IColor .
class Rectangle : IPolygon, IColor {
…
}
Kami telah mengimplementasikan kedua antarmuka di Rectangle kelas dipisahkan oleh ,
.
Sekarang, Rectangle
harus mengimplementasikan metode kedua antarmuka.
Kita dapat menggunakan variabel referensi dari sebuah antarmuka. Misalnya,
using System;
namespace CsharpInterface {
interface IPolygon {
// method without body
void calculateArea(int l, int b);
}
class Rectangle : IPolygon {
// implementation of methods inside interface
public void calculateArea(int l, int b) {
int area = l * b;
Console.WriteLine("Area of Rectangle: " + area);
}
}
class Program {
static void Main (string [] args) {
// using reference variable of interface
IPolygon r1 = new Rectangle();
r1.calculateArea(100, 200);
}
}
}
Keluaran
Area of Rectangle: 20000
Dalam contoh di atas, kami telah membuat antarmuka bernama IPolygon . Antarmuka berisi metode calculateArea(int l, int b)
tanpa implementasi.
IPolygon r1 = new Rectangle();
Perhatikan, kami telah menggunakan variabel referensi antarmuka IPolygon . Ini menunjuk ke kelas Rectangle yang mengimplementasikannya.
Meskipun kita tidak dapat membuat objek antarmuka, kita masih dapat menggunakan variabel referensi antarmuka yang menunjuk ke kelas yang diimplementasikan.
Mari kita lihat contoh Antarmuka C# yang lebih praktis.
using System;
namespace CsharpInterface {
interface IPolygon {
// method without body
void calculateArea();
}
// implements interface
class Rectangle : IPolygon {
// implementation of IPolygon interface
public void calculateArea() {
int l = 30;
int b = 90;
int area = l * b;
Console.WriteLine("Area of Rectangle: " + area);
}
}
class Square : IPolygon {
// implementation of IPolygon interface
public void calculateArea() {
int l = 30;
int area = l * l;
Console.WriteLine("Area of Square: " + area);
}
}
class Program {
static void Main (string [] args) {
Rectangle r1 = new Rectangle();
r1.calculateArea();
Square s1 = new Square();
s1.calculateArea();
}
}
}
Keluaran
Area of Rectangle: 2700 Area of Square: 900
Dalam program di atas, kami telah membuat antarmuka bernama IPolygon . Ia memiliki metode abstrak calculateArea()
.
Kami memiliki dua kelas Persegi dan Persegi Panjang yang mengimplementasikan IPolygon antarmuka.
Aturan untuk menghitung luas berbeda untuk setiap poligon. Oleh karena itu, calculateArea()
disertakan tanpa implementasi.
Setiap kelas yang mengimplementasikan IPolygon harus menyediakan implementasi calculateArea()
. Oleh karena itu, implementasi metode di kelas Rectangle tidak bergantung pada metode di kelas Persegi .
Sekarang setelah kita mengetahui apa itu antarmuka, mari kita pelajari mengapa antarmuka digunakan dalam C#.
calculateArea()
di dalam antarmuka, tidak memiliki tubuh. Dengan demikian, ia menyembunyikan detail implementasi metode.calculateArea()
sebagai spesifikasi di dalam antarmuka IPolygon . Ini seperti menetapkan aturan bahwa kita harus menghitung luas setiap poligon. calculateArea()
di Persegi kelas itu tidak mempengaruhi Rectangle kelas.Bahasa C
Selama beberapa tahun terakhir, kemajuan signifikan dalam pengenalan ucapan otomatis (ASR) telah menyebabkan banyak perangkat dan aplikasi yang menggunakan ucapan sebagai antarmuka utama mereka. Spektrum IEEE majalah telah mendeklarasikan 2017 sebagai tahun pengenalan suara; ZDNet melaporkan dari CE
Apa itu Antarmuka dalam C#? Sebuah Antarmuka di C# digunakan bersama dengan kelas untuk mendefinisikan kontrak yang merupakan kesepakatan tentang apa yang akan diberikan kelas ke aplikasi. Antarmuka mendefinisikan operasi apa yang dapat dilakukan kelas. Antarmuka mendeklarasikan properti dan metode
Komponen dan persediaan TowerPro Servo × 1 Engsel Kecil × 1 Tombol × 1 Arduino Yun × 1 Transformator arus 100A × 1 resistor dan kapasitor × 7 Tentang proyek ini Lihat dua video di bawah ini untuk penjelasan singkat tentang pro
Komponen dan persediaan Arduino UNO × 1 Tentang proyek ini Baris Perintah Ada saatnya ketika Anda perlu menemukan nilai sensor atau Anda ingin memberi tahu robot Anda untuk melakukan sesuatu seperti bergerak ke kiri. Mungkin Anda perlu menanyakan nilai runtime variabel pada