Clear        


                
                    namespace _07_Interfaces.Models
{
    class Musteri : IKisi // müşteri somut (concrete) sınıfı kişi interfacec'ini implemente edecek, bunun için ampüle tıklayıp
                                   // veya klavyedeki Ctrl ve . tuşlarına basıp implement interface'e tıklıyoruz,
                                   // Musteri bir IKisi'dir
    {
        // implement interface dedikten sonra interface içerisindeki özellik veya method tanımları üzerinden
        // otomatik olarak özellik ve methodlar sınıfımızda oluşturulur



        // property'lerin interface'teki tanımlara göre oluşturulması
        public string TcKimlikNo { get; set; }
        public string Adi { get; set; }
        public string Soyadi { get; set; }



        // eğer istenirse interface'teki tanımlar dışında ekstra özellik veya methodlar class içerisinde oluşturulabilir
        public string KrediKartiNo { get; set; }

        public string KrediKartiNoGizle() // ilk 12 haneyi gizleyerek son 4 haneyi de açık dönecek method
        {
            return "**** **** **** " + KrediKartiNo.Substring(15);
        }



        // behavior'ların (method) interface'teki tanımlara göre oluşturulması
        public string Getir()
        {
            return $"T.C. Kimlik No: {TcKimlikNo}\nMüşteri: {Adi} {Soyadi}\nKredi Kartı No: {KrediKartiNoGizle()}";
        }
    }
}