C#’da Interface nedir nasıl kullanılır burada bahsetmiştik ama yinede kısaca interface (arayüz) sınıflara işlemleri nasıl yapması gerektiğini söyleyen yapılardır, interface (arayüz)’ler sadece tanımlama içerir onun dışında başka bir kod bloğu içermezler.
Aşağıda Dairenin alanı,çevresi ve çapını hesaplamak için tanımlanmış olan bir arayüz ve bu tanımlamaları kullanan bir sınıf örneği var kodlarımızda
public interface IHesap { double Yaricap { get; set; } double Cap { get; } double Cevre { get; } double Alan { get; } }
görüldüğü gibi interface (arayüz) içinde sadece tanımlama yapılmış bu tanımları kullanacak olan Daire sınıfı içerisinde de hesaplama işlemleri gerçekleştirilmiştir.
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program { public interface IHesap { double Yaricap { get; set; } double Cap { get; } double Cevre { get; } double Alan { get; } } public class Daire :IHesap { private double rad; public Daire() { this.rad = 0.00D; } public Daire(double Yaricap) { this.rad = Yaricap; }//http://www.bilisimogretmeni.com/ public double Yaricap { get { return rad; } set { if (rad <= 0) rad = 0; else rad = value; } } public double Cap { get { return rad * 2; } } public double Cevre { get { return rad * 2 * 3.14159; } }//http://www.bilisimogretmeni.com/ public double Alan { get { return rad * rad * 3.14159; } } } static void Main(string[] args) { double Yaricap = 0; try {//http://www.bilisimogretmeni.com/ Console.Write("Yarıçapı girin "); Yaricap = double.Parse(Console.ReadLine()); IHesap Rnd = new Daire(Yaricap); Console.WriteLine("Yaricap: {0}", Rnd.Yaricap); Console.WriteLine("Cap: {0}", Rnd.Cap); Console.WriteLine("Cevre: {0}", Rnd.Cevre); Console.WriteLine("Alan: {0}", Rnd.Alan); }//http://www.bilisimogretmeni.com/ catch (FormatException) { Console.WriteLine("Geçersiz Değer"); } Console.ReadKey(); } } }