Previous
Next

JAVA - Polymorphism(Çok biçimlilik) nedir?

by Cem Kefeli 16. Eylül 2009 04:28

JavaÇok biçimlilik(Polymorphism), kalıtım(Inheritance) ile iç içe geçmiş ilk bakışta karışık gibi görünen, hatta ne gerek var bunlara dedirten, bir yapıya sahiptir. Fakat işin içerisine girdikten sonra ne gibi kolaylıklar ve güzellikler sağladığını görünce dil tasarımcılarına hakkını teslim etmek kaçınılmaz oluyor. En genel anlamda, oluşturduğumuz nesnelerin gerektiğinde kılıktan kılığa girip başka bir nesneymiş gibi davranabilmesine polimorfizm diyebiliriz. Peki ne demek şimdi bu cümle?

Olaya ilk önce nesne kalıtımından kısaca söz ederek başlamak istiyorum. OOP(Object Oriented Programming) diyorsak nesnelerden bahsediyoruz demektir bu. Herşey nesne olarak düşünülebilir. Nesneler ise birbirlerinden türeyebilmektedir. Örneğin bir ana sınıf düşünün aklınızda, bir de bu ana sınıfın yavrucuklarını düşünün. Yavrucukları diyorum ama, bunu yavru sınıflar daha küçüktür, daha az öğe içerir gibi düşünmeyin sakın. Tam tersine bu yavrucuklar daha gelişkin olabilirler. Annelerinin tüm özelliklerine sahip olurlar da, hatta bir de annelerinden farklı başka özellikler de içerebilirler. Bu yavrucukların da yavrucukları olabilir. Bu böyle devam eder gider...

Polymorphism UMLSağ tarftaki UML diagramında bir kalıtım yapısı bulunmakta. KISI ana sınıfından PERSONEL isimli yeni bir sınıf ve PERSONEL sınıfındanda da MUHENDIS ve TEKNISYEN olmak üzere iki farklı sınıf türetilmiştir. MUHENDIS ve TEKNISYEN bir PERSONEL'dir. PERSONEL ise bir KISI'dir türünde ifadelerin kurulabildiği her yerde kalıtımdan söz etmek mümkündür. Böylece bu nesnelerin arasında artık kalıtımı ilişkisi kurulmuş olur. PERSONEL sınıfı KISI sınıfında yer alan BenKimim isimli fonksiyonu override etmiş yani geçersiz kılmıştır. Bu fonksiyon için kendisi bir içerik oluşturmuştur. Aynı şekilde MUHENDIS ve TEKNISYEN sınıfları da kendi içeriklerini BenKimim fonksiyonu içerisine yerleştirmiştir. Sınıfların tanımlamalarını da aşağıda vermekteyim. Fazlası...

Bayanlar ve Baylar!!! WEB 3.0 karşınızda...

by Cem Kefeli 22. Haziran 2009 12:41

Yeni nesil WEB teknolojileri...

Evet, bir süre önce bir flash gibi patlayan WEB 2.0 konseptinin de yavaş yavaş sonuna geliyoruz artık. Aslında aşağıdaki grafik olayı çok güzel özetliyor. O günlerden bu günlere nasıl geldiğimizi ve WEB 3.0'ın bize ne muhteşem özellikler katacağını elimden geldiğimce anlatmaya çalışacağım. Yazının orta ve sonlarına doğru işin teknik yönü biraz daha ağır basacak. Uzun ve kapsamlı bir yazı dizisi kendinizi hazırlayın :)

WEB history90'lı yıllar...
90'lı yıllardayız... Ortada henüz daha bilgisayar dahi denebilecek makineler nerdeyse yok. Teknolojinin o yıllardan günümüze uzayan en önemli gelişmesi Windows işletim sistemi hiç kuşkusuz. Henüz İnternet kavramı yeni yeni oluşuyor. Kullanıcıların masa üstünden ibaret olan bilgisayar kavramı yerini yıllar sonra çılgınlık haline gelecek olan İnternet'e yavaş yavaş bırakıyor. Web siteleri irili ufaklı yavaş yavaş belirmeye başlıyor. Zaman geçtikçe WEB portallar gün ışığına çıkıyor... WEB üzerinden çeşitli içeriklere ulaşmamızı sağlayacak arama motorlarının ilkelleri, öncüleri bizler ile buluşuyor. O zamanlar bir arama motoru şimdiki gibi, yapılan her bir arama için dünyayı bilmem kaç derece ısıtır halde de değil. Bakınız Google...:) İşte bu aşamada WEB 1.0 ile de tanışmış oluyoruz. HTTP protokolü artık WEB dünyasını bizlere sunuyor. WEB dünyasının en önemli parçasını oluşturan HTML(Hypertext Mark-up Language) teknolojinin hizmetine sunuluyor. Bu yapılar bizlere o günün koşullarında statik WEB konseptini fazlasıyla sunuyor. Aslında HTML demek WEB'in kendisi demektir. HTML demek WEB konseptinin en değerli yapıtaşı demektir. Unutmamak gerekir ki sunucu taraflı çalışan kodların da hedefi HTML çıktılar üretmektir. WEB tarayıcılarımızın anladığı dil ise HTML ve HTML içerisine gömülü bazı kodlardır. Fakat HTML kullanıcıların etkileşimli bir şekilde WEB siteleri ile buluşması için gerekli teknolojik alt yapıya mimarisi gereği sahip değildir, çünkü kullanıcı taraflı bir kodlama dilidir. Ve gün geliyor server taraflı bazı yazılım dilleri kullanılarak kullanıcı etkileşimli WEB sitelerinin oluşturulması alt yapısına da başlanmış oluyor.

CGI, ASP
CGI(Common Gataway Interface), ASP(Active Server Pages), PHP(Hypertext Preprocessor), JSP(Java Server Pages), JSF(Java Server Faces), Java Servlets gibi server taraflı diller ile artık kullanıcıların da sizlerin sayfasına birşeyler katabilmesini sağlar oluyorsunuz. Kullanıcılardan veriler toplayıp bu verileri sunucu taraflı bu diller ile işleyip kullanıcılara raporlamayı yine bu diller yardımı ile yapabiliyorsunuz. İleride bütün dünyanın çılgınlar gibi WEB kodu yazmasına yarayacak ASP.NET teknolojisinin annesi ASP işte bu yıllarda, 1996 yılında duyuruluyor. Bu aşamada ASP ile ilgili detaylı bilgi vermek isterim, çünkü WEB teknolojileri için çok değerli olduğuna inandığım sağlam bir yeri var. 90'lı yılların sonlarına yaklaşırken ben de ASP scriptleri ile oldukça fazla vakit geçirmiştim. WEB yazılım diyince en güzel şekilde akla gelebilecek teknolojinin ASP olduğu günlerdi. 1997'de ASP'nin ikinci sürümü ve bununla beraber de Microsoft IIS(Internet Information Server) 4.0 duyuruldu. IIS web yazılım ile ilgilenen herkesin bildiği bir WEB sunucu yazılımıdır. Microsoft tarafından geliştirilmiştir ve şu an da günümüzde 7.0 versiyonu popüler olarak hala kullaılmaktadır. IIS 7.0 Windows Server 2008 ile birlikte 2008 yılında duyurulmuştur. ASP'nin son versiyonu ASP Version 3 adı ile 2000'li yıllarda duyuruldu ve bu aşamadan sonra yerini öz ve öz evladı ASP.NET'e bırakmak üzere kendi köşesine çekildi. Günümüzde ASP kullanılmıyor değil, hatta yaygın bir şekilde kullanılıyor da. Ama bu kullanım derecesini tabi ki uygulamanın kompleksliği belirler durumda. Çok gelişkin uygulamalarda tercih edilmediği bir gerçek.
Fazlası...

SipInjector v1.0.0 is now available.

by Cem Kefeli 30. Mayıs 2009 10:40
Sip Injector SipInjector v1.0.0
Java based injection tool for SIP(Session Initiation Protocol)

Current version: SipInjector v1.0.0
Stable version: SipInjector v1.0.0
Build Date: 31 May, 2009
 

SipInjector is a java based free injection tool for Session Initiation Protocol(SIP) and has been developed by me. It uses some XML datas to construct and send SIP methods over the network. The Session Initiation Protocol  is a signalling protocol, widely used for setting up and tearing down multimedia communication sessions such as voice and video calls over the Internet. Other feasible application examples include video conferencing, streaming multimedia distribution, instant messaging, presence information and online games. The protocol can be used for creating, modifying and terminating two-party (unicast) or multiparty (multicast) sessions consisting of one or several media streams. The modification can involve changing addresses or ports, inviting more participants, adding or deleting media streams, etc.

Message Injectors are frequently used for making some simulations on network. You can easily send a SIP packet to any SIP device by using this tool even if you have no user agent. Version 1.0 supports only SIP Invite method for the present. Other SIP methods will be supperted at next versions as soon as possible. 

You can download executable version of SipInjector by using this link directly...

What's new in latest version?
This is the first version of SipInjector. Latest version supports SIP Invite Method. Version v1.0.0 only supports UDP connection mode. 

Hakkımda...

Cem KEFELİ

Electronics and
Telecommunication Eng.
devamı...


Son yapılan yorumlar...

Comment RSS

Yasal bir uyarı...

Disclaimer"Bu web sitesinde görmüş olduğunuz bilgilerin, dokümanların ve diğer materyallerin kullanılmasından doğabilecek hiç bir sorumluluktan site sahibi sorumlu tutulamaz. Web sitesi içerisinde yer alan yazılar, yorumlar, resimler ve diğer tüm içerikler yalnızca sahibinin görüşünü yansıtmakta olup içeriğin sahibi kişilerin çalıştığı kurumları bağlayıcı hiç bir nitelik taşımamaktadır. Yapılan tüm alıntılar mutlaka kaynak gösterilerek verilmeye çalışılmaktadır. Web sitesi içerisinde bulunan ilgili materyaller, ilgili yasal kurumlar tarafından uygun görülmemesi durumda kaldırılacaktır."
General