Derya Dok Kişisel Blog

Derya Dok Kişisel Blog

C# Notlarım 18: Kalıtım (Inheritance)

Herkese merhaba. C# yazı dizimdeki en önemli konuya, kalıtıma geldik. Kalıtım bir class’ı temel alarak ondan başka class veya class’lar oluşturmamızı sağlar. Bu uygulama içerisinde yeni geliştirme yapılmasını ve bakımını oldukça kolaylaştırır.  Kendisinden bir başka class türetilen class’a base class denir. Base class’ın içerisinde bulunan bütün property ve metotlara türetilen class içerisinden erişim sağlayabiliriz. Ayrıca türetilen class içerisine kendine has property ve metotlar yerleştirebiliriz. Ortak özelliğe sahip nesnelerimiz varsa her birisi için aynı propertyleri tanımlamak yerine ortak özellikleri içeren bir base class oluşturabiliriz.

C# Notlarım 17: Property ve Access Modifier

Herkese merhaba. Kapsülleme yazımdan sonra property ve access modifier (erişim belirleyiciler) konusunun daha iyi anlaşılması için bir örnek yazısı hazırladım. Yazının sonlarına doğru Type Initializer, Anonim Tipler (Anonymous Types) ve Index Property (Indexer) konularına da değineceğim. İlk konu kapsamda bir matematik kütüphanesi hazırlayacağım. Bu matematik kütüphanesinin içerisinde üs alma metodunun farklı erişim belirleyici versiyonları yer alacak. Bu projeyi github repomda bulabilirsiniz. Dilerseniz siz de kendi projenize entegre ederek bu kütüphaneyi kullanabilirsiniz. Property ve Access Modifiers (erişim belirleyiciler) yapılarının ne olduğunu hatırlamak için C# Notlarım 16: Kapsülleme (Encapsulation) yazımı okuyabilirsiniz.

Global AI Night Istanbul 2021: Bot Framework Composer ve LUIS & QnA

Herkese merhaba. 😊 Global AI Night Istanbul 2021 etkinliğinde Emre Can Ergör ile birlikte yer aldık. Bot Framework Composer ve LUIS & QnA temellerini anlattık. Daron Yöndem, Responsible ML konusunda çok açıklayıcı bilgiler verdi. Cihan Yakar ise C# ile sıfırdan XGBoost algoritması yazımını gösterdi.

AINIGHTPOSTER

C# Notlarım 16: Kapsülleme (Encapsulation)

Herkese merhaba. Nesne Yönelimli Programlama Nedir? yazımda -bütün nesne yönelimli programlama dillerine de uygun olabilmesi adına- nesne yönelimli programlamaya kabataslak bir giriş yapmıştım. Şimdi ellerimizi biraz kirletmenin zamanı geldiğini düşünüyorum. 😄 Adım adım bütün OOP konularını C# için ele alacağım. Önce kapsülleme ile başlayalım. Kapsülleme ile bir nesnenin dışarıdan erişilmesini engellemiş oluruz. Bu sayede ilerde bir dll, kütüphane ya da framework geliştirdiğimiz zaman insanlara sadece bizim izin verdiğimiz kadarına erişim hakkı sunarız. Erişim belirleyicilere biraz daha detaylı bir şekilde baktıktan sonra C# içinde kapsülleme işlemini nasıl yapacağımızı göstereceğim.

Martin Eden – Kitap İncelemesi

Herkese merhaba. 😊 Pandemi süreci nedeniyle evde kalmak daha çok kitap okumamı sağlar sanmıştım ancak yanılmışım. 😅 Bu süreç başladığında elimdeki kitabı bitirip metroda yanımda taşıyamayacağım kalın kitaplarımı okumaya karar verdim. Ancak hem pandemi psikolojisi hem de evde insanın biraz daha tembellik yapmaya meyilli olması nedeniyle hepi topu 3 kitap okuyabildim. Martin Eden ise bu süreçte en son okuduğum ve en çok beğendiğim kitap oldu. Kendisinin hikaye kurgusunu ve olayların akışını çok başarılı buluyorum. İlk okuğum kitabı Demir Ökçe’de de bu kısımlar başarılıydı. Ama bu kitabı Demir Ökçe’ye nazaran biraz daha fazla sevdim diyebilirim.

Nesne Yönelimli Programlama Nedir? (Object Oriented Programming)

Herkese merhaba. 😊 Bugün yazılımcılığa girişin ilk adımı olarak nitelendirebileceğim Nesne Yönelimli Programlama (Object Oriented Programming) konusuna giriş yapacağım. Bu konu tamamen dil bağımsız bir konu olduğu için C# dışında istediğiniz bir programlama dilinde uyarlayabilirsiniz. Bu yazıya kadar anlatmaya çalıştığım yazılarımla bir ürün ortaya çıkartabilirsiniz. Örnek olarak bir konsol uygulaması yaptığımızı düşünelim. Yapılan işleri Program.cs dosyasının içerisinde metotlara bölerek modüler bir şekilde yazdık. Daha sonra bu ürünü başka birisi geliştirmek için aldı ve o da bir takım metotlar ekledi. En sonunda ürün doğru bir şekilde çalışıyor olsa bile ortaya spagetti kod çıkmış oldu. Bu projenin bakım maliyeti de artmış oldu çünkü 3. bir kişi geldiğinde belli bir kalıp yapı üzerinden ilerlenmediği için uyum sağlama süreci daha uzun olacaktır. Projemizi en başından OOP kullanarak yapmış olsaydık hem spagetti koddan kurtulmuş hem de bakım maliyetini azaltmış olacaktık. Bu işin biraz hikaye kısmı şimdi biraz daha konuya girerek daha yakından bakalım. 😊

C# Notlarım 15: String Metotları

Herkese merhaba. 😊 Daha önceki yazımda hazır array metotlarını incelemiştik. Aynı şekilde string veri türünün de hazır metotları bulunuyor. String veri türü de neredeyse bütün programlama dilleri içerisinde yer alıyor. Programlamada string değişken türleri ile çok haşır neşir olacağımız için, hazır string metotları kullanmak programlamada işimizi çok kolaylaştıracak. Daha fazla uzatmadan hemen metotlara geçelim.

C# Notlarım 14: Array (Dizi) Metotları

Herkese merhabaa. 😊 Daha önceki yazılarımda metotlara giriş yapmış daha sonrasında da biraz daha detaylı olarak metot yazımını incelemiştik. Şimdi C# içerisinde built-in metot olarak anılan hazır metotları inceleyeceğiz. Bu hazır metotlar sayesinde çok daha kolay ve pratik şekilde istediğimiz işlemleri yapabiliyoruz. Bu yazıda özellikle array metotlarını anlatacağım. Array neredeyse bütün programlama dillerinde bulunan bir yapı olduğu için daha önceden kullandıysanız size çok uzak gelmeyecektir.

C# Notlarım 13: Metotlar

Herkese merhaba. 😊 Bu yazıda modüler programlamanın ilk basamağı olan metotların biraz daha içine gireceğiz. Metotlarda kullanılan ref ve out anahtar kelimelerine, method overloading yöntemine ve recursive (rekürsif) metotlara yakından bakacağız. C# üzerinde metotlar oluştururken bunları çok yoğun bir şekilde olmasa da ara ara pratiklik kazandırması için bunları kullanıyoruz. Lafı daha fazla uzatmadan hemen konuya geçelim.

C# Notlarım 12: Metotlara Giriş

Herkese merhabaa. 😊 Bu yazıda modüler programlamaya giriş yapacağım. Modüler programlama; bir bütünün elemanlarının birbirlerinden bağımsız çalışması olarak açıklanabilir. Modüler programlamanın en küçük parçasıdır. Bizi kod tekrarından kurtararak programın daha hızlı çalışmasına yardımcı olur. C# içerisinde birçok gömülü metot olduğu gibi kendi metotlarımızı da yazabiliriz. Lafı daha fazla uzatmadan metotlara giriş yapalım.

Page 2 of 5

Powered by WordPress & Theme by Anders Norén