Bu madde, uygun değildir.Mart 2011) ( |
Programlama dillerinde gerçekleştirme, yarım bırakılmış bir öğe tanımının tamamlanmasıdır. Öğe tanımının eksik bırakılan kısmı gerçekleştirim ayrıntısı olarak adlandırılırken, kullanıcı ile paylaşılan kısmı kullanıcı-gerçekleştirimci arayüzü olarak adlandırılır. Bu ayrımın yapılmasının başlıca nedeni, kullanıcı ve gerçekleştirimci kodları arasındaki bağımlılıkları azaltıp değişme olasılığı düşük öğelere indirgemektir. Aynı anlayış, herhangi bir ürünün arayüz-gerçekleştirim ayrımında da görülür. Örneğin, bir müzikçaların kullanımında, kullanıcıyı ilgilendiren konsol üstündeki düğmelerdir; düğmelere basıldığında veya düğmeler çevrildiğinde kutunun içinde olanlar—yani gerçekleştirim—kullanıcı için ayrıntıdır ve kullanıcıdan saklanmalıdır. Bir diğer deyişle, gerçekleştirimci ürün arayüzünü kullanıcıyla paylaşırken, arayüzü tamamlayan gerçekleştirimi kullanıcıya sunmamalıdır.
Kullanıcı-gerçekleştirimci arayüzünü tanımlamakta kullanılan programlam öğeleri ve bu amaçla kullanılan bilgi saklama (İng., information hiding30 Nisan 2011 tarihinde Wayback Machine sitesinde arşivlendi.) araçları programlama dilleri arasında değişkenlik gösterir. Java ve C# gibi programlama dillerince desteklenen arayüz kavramının varlığında, gerçekleştirme tanımlanan arayüzle arayüzü gerçekleştiren sınıflar arasındaki ilişki olarak tanımlanır. Böylesine bir ilişki, arayüzde listelenen iletilerin çokbiçimli kullanımına olanak tanır. Bunun için yapılması gereken, nesnelerin çokbiçimli bir şekilde kullanılması istenen arayüzün türündeki bir tutacak vasıtasıyla kullanılmasıdır.
C programlama dilinde, dilin eksik bıraktığı kavramsal boşluklar gerçekleştirimci (ve kullanıcı) tarafından doldurulur. Gerçekleştirimci, arayüz tanımını yapmak için gerçekleştirim ayrıntılarını vermeyecek şekilde başlık dosyalarından yararlanır. Bu, kullanıcı ile paylaşılacak başlık dosyalarının fonksiyon imzaları, sabit tanımları ve tür öntanımları (İng., forward declaration15 Temmuz 2010 tarihinde Wayback Machine sitesinde arşivlendi.) içerebileceği anlamını taşır. Başlık dosyasında ilan edilen işlevselliğin gerçekleştirimi ise tecihen aynı ada sahip bir C dosyasında sağlanarak gerçekleştirme ilişkisi kurulur.
C++ gibi nesne yönelimli olmakla birlikte arayüz kavramını doğrudan desteklemeyen dillerde ise gerçekleştirme ilişkisi iki şekilde tesis edilebilir. İlk yöntemde, arayüz kavramı altalan ve fonksiyon gövdesi içermeyen bir soyut sınıf olarak tanımlanır ve gerçekleştirimci bu sınıftan kalıtladığı bir sınıfta fonksiyon gerçekleştirimlerini sağlayarak işini tamamlar. İkinci yöntem, C için önerilen yöntemin C++'a uygulanmasından ibarettir: başlık dosyasına konulmuş ve salt fonksiyon imzaları ile sabit tanımları içeren bir sınıf, aynı adlı bir C++ dosyasında gerçekleştirilir.
Notlar
- ^ Arayüz kavramının Java ve C#'daki gibi desteklenmesini sağlayan bir örneği (burada) bulabilirsiniz.
Ayrıca bakınız
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bu madde Vikipedi bicem el kitabina uygun degildir Maddeyi Vikipedi standartlarina uygun bicimde duzenleyerek Vikipedi ye katkida bulunabilirsiniz Gerekli duzenleme yapilmadan bu sablon kaldirilmamalidir Mart 2011 Programlama dillerinde gerceklestirme yarim birakilmis bir oge taniminin tamamlanmasidir Oge taniminin eksik birakilan kismi gerceklestirim ayrintisi olarak adlandirilirken kullanici ile paylasilan kismi kullanici gerceklestirimci arayuzu olarak adlandirilir Bu ayrimin yapilmasinin baslica nedeni kullanici ve gerceklestirimci kodlari arasindaki bagimliliklari azaltip degisme olasiligi dusuk ogelere indirgemektir Ayni anlayis herhangi bir urunun arayuz gerceklestirim ayriminda da gorulur Ornegin bir muzikcalarin kullaniminda kullaniciyi ilgilendiren konsol ustundeki dugmelerdir dugmelere basildiginda veya dugmeler cevrildiginde kutunun icinde olanlar yani gerceklestirim kullanici icin ayrintidir ve kullanicidan saklanmalidir Bir diger deyisle gerceklestirimci urun arayuzunu kullaniciyla paylasirken arayuzu tamamlayan gerceklestirimi kullaniciya sunmamalidir Kullanici gerceklestirimci arayuzunu tanimlamakta kullanilan programlam ogeleri ve bu amacla kullanilan bilgi saklama Ing information hiding30 Nisan 2011 tarihinde Wayback Machine sitesinde arsivlendi araclari programlama dilleri arasinda degiskenlik gosterir Java ve C gibi programlama dillerince desteklenen arayuz kavraminin varliginda gerceklestirme tanimlanan arayuzle arayuzu gerceklestiren siniflar arasindaki iliski olarak tanimlanir Boylesine bir iliski arayuzde listelenen iletilerin cokbicimli kullanimina olanak tanir Bunun icin yapilmasi gereken nesnelerin cokbicimli bir sekilde kullanilmasi istenen arayuzun turundeki bir tutacak vasitasiyla kullanilmasidir C programlama dilinde dilin eksik biraktigi kavramsal bosluklar gerceklestirimci ve kullanici tarafindan doldurulur Gerceklestirimci arayuz tanimini yapmak icin gerceklestirim ayrintilarini vermeyecek sekilde baslik dosyalarindan yararlanir Bu kullanici ile paylasilacak baslik dosyalarinin fonksiyon imzalari sabit tanimlari ve tur ontanimlari Ing forward declaration15 Temmuz 2010 tarihinde Wayback Machine sitesinde arsivlendi icerebilecegi anlamini tasir Baslik dosyasinda ilan edilen islevselligin gerceklestirimi ise tecihen ayni ada sahip bir C dosyasinda saglanarak gerceklestirme iliskisi kurulur C gibi nesne yonelimli olmakla birlikte arayuz kavramini dogrudan desteklemeyen dillerde ise gerceklestirme iliskisi iki sekilde tesis edilebilir Ilk yontemde arayuz kavrami altalan ve fonksiyon govdesi icermeyen bir soyut sinif olarak tanimlanir ve gerceklestirimci bu siniftan kalitladigi bir sinifta fonksiyon gerceklestirimlerini saglayarak isini tamamlar Ikinci yontem C icin onerilen yontemin C a uygulanmasindan ibarettir baslik dosyasina konulmus ve salt fonksiyon imzalari ile sabit tanimlari iceren bir sinif ayni adli bir C dosyasinda gerceklestirilir Notlar Arayuz kavraminin Java ve C daki gibi desteklenmesini saglayan bir ornegi burada bulabilirsiniz Ayrica bakinizArayuz Kalitlama iliskisi