Çok Biçimlilik Polymorphism Nedir ve Örnek

Posted on

Çok Biçimlilik (Polymorphism)

Nesne tabanlı programlamanın üç temel ögesi vardır. Bunlar, çok biçimlilik, kapsülleme ve kalıtımdır. Nesne tabanlı programlamada çok biçimlilik, nesnelerin dışarıdan aynı yapıda görünmelerine rağmen içerde farklı işlem yapmalarıdır. Bu nedenle sınıflar nesnelerin içindeki farklılıklardan etkilenmeden çalışır. Çok biçimlilik aslında bir arayüz (interface) kullanarak birden fazla metodun kullanılmasını sağlar. Çok biçimliliğin amacı, genel bir sınıf belirtip aynı arayüzü kullanarak oluşabilecek karmaşıklığı azaltmaktır.

Nesne tabanlı programlama sınıflar belli bir sıraya göre tasarlanır. Başta genel bir sınıf sonra da bu sınıftan oluşmuş ve yeni elemanlar katılarak farklı özelliklere sahip yeni sınıflar vardır. Yeni oluşturulan sınıflar temel sınıfın özelliklerini taşır. Ancak oluşturulan sınıflar temel sınıfın özelliklerini taşırlarken temel sınıf türetilen sınıfın özelliklerini taşımaz. Bir örnekle açıklayacak olursak; Okullar sınıfının genel bir sınıf olduğunu düşünelim. Bu sınıfın bir elemanı olan Meslek Liseleri vardır. Okullar sınıfının özelliklerini meslek liselerine geçirebiliriz. Ama tam tersi söz konusu değildir. Çünkü her meslek lisesi bir okuldur ama her okul bir meslek lisesi değildir.

Progressive Web App (PWA)

Posted on

pwa-nedir-pwa-yapma

Progressive Web App, bir websitenin uygulama benzeri özelliklerine sahip türüdür. Peki belli başlık özellikleri nelerdir?

  • Öncelikle çevrimdışı olarak kullanabilirsiniz, kullanıcının interneti olmadığı anlarda dâhi PWA sayesinde websitenizdeki faydalı bilgileri görüntüleyebilir.
  • Ana ekranda ikona sahip olması, bazı tarayıcılarla ana ekrana kısayol ekleyebildiğiniz zaman ikon değiştiremezsiniz ama PWA bunu sağlayabiliyor.
  • Responsive olması, ekranın mükemmel oranda dolmasını sağladığı için web siteleriniz mobil ve tablet uyumlu olması gerekiyor.
  • Push notification desteğine sahip olması ile uygulama çalışmasa bile bildirim alabiliyor, elbette herkes için değil yalnızca onay veren kişilerde bildirim gözüküyor.

C# MSSQL Bağlantı Kütüphanesi

Posted on

C#’ta MSSQL bağlantı ve sorgu ihtiyaçlarınızı 2 satır koda indiren ufak bir kütüphane geliştirdim. Yapmanız gereken de iki şey var, bunlardan birincisi yazmış olduğum DLL’i projenize ve kütüphaneye eklemek diğeri ise sizden istediğim iki ayrı string ifade.

Bunlardan birincisi bağlantı adresi, ikincisi ise SQL sorgu metniniz.
csharp mssql baglanti
DLL’i ekledikten sonra kütüphanemize de eklemeyi unutmayalım.

using mssqlCon;

//String türünde adresi ve SQL sorgu metinlerimizi yazacağımız iki değişken tanımlayalım.
string adres,text;

//Herhangi bir event içerisinde değişkenlerimizi doldurabiliriz veya tanımlarken de yazabiliriz.
adres="Server=server_ip;Database=db_adı;user id=user_id;password=şifre";
text = "SQL Sorgunuz.";

mssqlBaglanti ms = new mssqlBaglanti(); //Sınıfımızı tanımladık.
string donus = ms.mssqlBaglan(adres, text); //Eğer sınıf bağlantısını string bir değişken içerisinde yaparsanız bağlantının başarılı olup olmadığını değişken içerisinde görebilirsiniz.

csharp mssql baglanti yapma

Sınıf sizlerden string türünde iki değişken istemektedir, bunları yukarıdaki örnekte olduğu gibi karşıladığınız zaman sorunsuz kullanabilirsiniz.

buraksakalli indir

Engelleri Aş v2 Beta Yayınlandı!

Posted on

21 Aralık’ta yapımına başlandığını duyurduğum Engelleri Aş v2 Beta bugün itibariyle Beta programına başvuranlardan 100 kişiye gönderildi. Yaklaşık olarak 2 hafta boyunca programı kullanarak bana yardımcı olacak test kullanıcılarına şimdiden teşekkür ederim.

Engelleri Aş v2 Engelleri Aş v2

Programın kararlı sürümü 1 ay sonra yayınlanacak ve birçok özellik dahil edilmiş olacak. Takipte kalın 🙂

Sunucu sponsorluğu için Ar-ge.org'a teşekkür ederim.

C# webBrowser Microsoft Edge Kullanma

Posted on

C#’ta bildiğiniz üzere webBrowser nesnesi internet explorer tabanlı olarak çalışıyor. Bu olay, projesinde webBrowser kullananlar için sıkıntı oluşturabiliyor. Hızla güncellenen yazılım aleminde internet explorer artık geçmişte kaldı ve yerini Microsoft Edge aldı. Projelerinizde, Internet Explorer yerine Microsoft Edge’i kullanabilirsiniz.

  • Windows + R > regedit (ya da; Başlat > Arama > regedit)
  • HKEY_LOCAL_MACHINE\SOFTWARE
  • \WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl
  • \FEATURE_BROWSER_EMULATION
  • Yeni > DWord (32bit) değeri
  • Yeni Değer’in yerine projenizin adını .exe haliyle yazın (Örn: projem.exe)
  • Oluşturduğunuz DWord’e sağ tıklayıp Değiştir’e basın.
  • Değer verisine “2ee1” yazın (Burda Taban’ın Onaltılık olduğundan emin olun.)
  • Tamam’a basın.
  • Projeniz eğer açıksa kapatıp açtığınızda artık tarayıcınızın Microsoft Edge olduğunu göreceksiniz.

csharp-microsoft-edge

 

Cross Platform Çalışmam HH Enerji

Posted on

hhenerji-takip

HH Enerji, takımda bulunan hidrojen tüplerinin durumunu takip eden bir yazılımdır. Her tüp kendine has bir koda sahip, doluluk oranları ve bar değerleri cloud ortamında saklanmaktadır. Bu değerler Javascript ve MySQL kullanılarak web ortamında grafik haline getirip, kullanıcıya bu değerleri rapor olarak sunmaktadır. Yazılımın ayrıca Android versiyonuda bulunmakta, enerji departmanına ise sürekli olarak güncellemeler hakkında Push Notification gönderilmektedir, böylelikle güncel durumlar hakkında bilgi sahibi olmaktadırlar. Masaüstü sürümü ise sırası gelince yapılacak 🙂

Telemetri ve Cross Platform Çalışmam: Hidrobit

Posted on

Bir sistemin uzaktan kontrol edilmesine telemetri denir. Hidrobit, cross platform geliştirmiş olduğum bir telemetri yazılımıdır.

hidrobit

Program, Hidroket-Fizart takımının yarış anında araç verilerini edinebileceği platformlar için özel yazıldı. Masaüstü, Web ve Android sürümleri hazırlandı ayrıca arkaplanda Cloud sistem kullanıldı. Hidrobit’in ana görevi serial port üzerinden bit değerleri okuyup-işleyerek grafik çizmek. Şu an gelişmekte olan birçok can alıcı özelliği var ama onlar bitmeden bilgi vermek istemiyorum 🙂 Arayüzü ve çalışmasını Hidroket ve Fizart facebook sayfalarında görebilirsiniz. Arayüz tasarımı, takımın medya ekibine, donanım geliştirmesi ise elektronik ekibine ait, kısaca Hidrobit bir takım işi 🙂

Geliştirme Araçları

C – DevC++

C# – Visual Studio

Javascript – Atom

Java – AndroidStudio

MSSQL ^ MySQL – MSSQL ManagementStudio ^ PhpMyAdmin