Bilgisayar Kavramlarıwww.bilgisayarkavramlari.com |
Yazan : Şadi Evren ŞEKER Dağıtık programlamanın bir parçası olan RPC( Remote Procedure Call ) üzerine inşa edilmiş olan ve nesne yönelimli programlama akımıyla birlikte gelişmiş olan RMI yaklaşımı basitçe bir kodun bir parçası olan methodun başka bir kod tarafından çağrılmasını sağlar. Temel olarak sistemde rmiregistry ismi verilen bir kayıt üzerinde RMI için çağrılması uygun [...]
Yazan : Şadi Evren ŞEKER Nesne yönelimli programlamanın gelişmesiyle birlikte dağıtık nesne mimarisi denilen bir kavram gün yüzüne gelmiştir. Bu kavrama göre bir nesne yönelimli projeyi farklı bilgisayarlar üzerinde dağıtmak ve projenin bu farklı bilgisayarlar üzerindeki farklı nesneler ile iletişim kurmasını sağlamak mümkündür. Bu işlem için örneğin JAVA dilindeki RMI (uzaktan metod çağırma , remote [...]
Yazan : Şadi Evren ŞEKER Programlama dilinde bir değişkenin (variable) tipinin değiştirilmesi anlamındadır. Temel olarak değişkenlerin tanımlandığı andan itibaren bir tipi bulunur. Bunun her ne kadar bazı dillerde istisnası olsa da (php, visual basic, perl gibi) bu dillerde de değişkenin tipi yine de tipsiz olarak belirtilmektedir. İşte tanımlama sırasında sahip olunan tipin daha sonradan değiştirilmesi [...]
Yazan : Şadi Evren ŞEKER Nesne yönelimli programlama yaklaşımında bir nesnenin oluşturulması sırasında ilk çalışan fonksiyonun ismidir. Buna göre bir nesnenin oluşturulması demek, nesneyi tarif eden sınıftan bir türün hafızada (RAM) bir kopyası için yer açılması ve bu nesnenin bütün değişken ve metodlarının tanımlanan kısıtlamalarla erişilebilir olması demektir. Bilindiği üzere nesne yönelimli programlamada bir nesnenin [...]
Yazan : Şadi Evren ŞEKER Nesne yönelimli programlama dillerinde istisnai bir durumu, beklenmedik bir olayı algılayıp buna karşı bir kod parçasının çalışmasıdır. Örneğin hafıyza bir dosya okuyacak olalım. Bu işlemler sırasında: dosyanın disk üzerinden bulunarak açılması dosyanın boyutunun belirlenmesi dosya için hafızda boyutu kadar yer açılması dosyanın bu hafızada açılmış yere yüklenmesi dosyanın kapatılması işlemlerinin [...]
Yazan : Şadi Evren ŞEKER JAVA programlama dilinde miras ilişkisi (inheritance) içerisinde bulunan iki sınıftan (class) üsttekinin (ancestor) alttaki sınıfların (offspring) kendi metodlarını çiğnemesini ( overriding) engellemesi için final yapması durumudur. public class çalışan{ public final int maaş(){ return 1000; } } public class müdür extends çalışan{ } Yukarıdaki örnekte müdür sınıfı bir çalışan sınıfıdır [...]
Yazan : Şadi Evren ŞEKER Nense yönelimli programlama yaklaşımına göre çok şekilliliğin (polymorphism) bir gereği olarak bir işin birden farklı şekilde yapılabilmesini sağlayan özelliktir. Temel olarak method overloading (metod üzerine yükleme) veya operatör üzerine yükleme (operator overloading) olarak iki farklı şekilde incelenebilir. Aşağıda bir fonksiyonun üzerine yüklenmesi (function overlaoding) örneği verilmiştir: public class dikdörtgen{ [...]
Yazan : Şadi Evren ŞEKER Nesne yönelimli programlamada miras ilişkisi (inheritance) içerisinde olan sınıflardan atanın (ancestor) içerdiği bir metodun çocukları (offsprings) tarafından yeniden tanımlanması durumudur. Örneğin aşağıdaki çalışan sınıfını ele alalım: public class çalışan{ int maaş(){ return 1000; } } Yukarıda görülen çalışan sınıfında bir maaş fonksiyonu tanımlanmış ve her çağrıldığında 1000 değeri döndürecek şekilde [...]
Yazan : Şadi Evren ŞEKER Nesne yönelimli programlama yaklaşımına göre bir sınıfın bütün metodları belirli olmak zorunda değildir. Kısaca bir mevhumun mücerret olması durumunda nesne yönelimli programlamadaki ifade biçimidir. Örneğin bir çalışan sınıfını düşünelim. Her çalışanın bir maaş aldığını biliriz ama her çalışanın maaş hesaplaması farklı şekillerde yapılır. İşte bu durumda çalışan sınıfının bir maaş [...]
Yazan : Şadi Evren ŞEKER Arayüz terimi, bilgisayar bilimlerinde farklı amaçlar için kullanılmaktadır. Basitçe iki varlık (entity) arasında bulunan ve bu iki varlığın birbiri ile iletişim kurmasını sağlayan yapıdır. Bu yazının konusu olan arayüz kavramı, nesne yönelimli programlama (object oriented programming) ortamında bulunan ve nesneler üzerinde yaptırım kurmaya yarayan yapıyı anlatmaktır. Arayüz kavramı temel olarak [...]
Yazan : Şadi Evren ŞEKER Nense yönelimli programlama mantığında kullanılan bir terimdir. Bu terime göre iki nesne arasında ilişki kurulurken seçilebilecek yöntemlerden birisi de münasebet(aggregation) ilişkisidir. Örneğin bir şirketin çeşitli birimleri olabilir. Örneğin muhasebe, satın alma, yönetim gibi birimler şirkete bağlıdır ve yanlızca bir şirkete bağlı olabilirler. Ayrıca bu birimlerde çalışan kişiler de bulunur. Dolayısıyla [...]
Yazan: Şadi Evren ŞEKER Nesne yönelimli programlama dillerinde bir varlığın bizatihi kendisidir. Daha basit bir şekilde yaşayan bir varlık önce tanımlanmalıdır, bu tanımın yapılmasına sınıf adı verilir daha sonra bu sınıftan yaşayan bir ya da daha çok varlıklar oluşturulur bu her varlığa da nesne adı verilir. Bu durum doğal dillerdeki özel isimlere benzetilebilir. Sınıflar ise [...]
Yazan: Şadi Evren ŞEKER Nesne yönelimli programlama dillerinde bir varlığın (nesne, object) tanımıdır. Daha basit bir şekilde yaşayan bir varlık önce tanımlanmalıdır, bu tanımın yapılmasına sınıf adı verilir. Bu durum doğal dillerdeki cins isimlere benzetilebilir. Varlıklar ise daha çok özel isimler gibi düşünülebilir. Örneğin kedi kelimesi bir cins isimdir ve daha çok bir sınıfı belirtir. [...]
Yazan: Şadi Evren ŞEKER Ağaçların özel bir hali olan ikili ağaçlarda her düğümün çocuklarının sayısı azami 2 olabilir. Bir düğümün daha az çocuğu bulunması durumunda ( 0 veya 1) ağacın yapısı bozulmaz. Yapraklar hariç bütün düğümlerin ikişer çocuğu bulunması ve yaprakların aynı derinlikte bulunması durumunda bu ağaca dengeli ağaç (balanced tree) denilir. Aşağıda bir dengeli [...]
yazan: Şadi Evren ŞEKER XML dilinin çıkış amacı makinelerin birbiri ile konuşurken kategorize olmuş bir dil (veya prtokol) üzerinden konuşmalarını sağlamaktır. Aslında XML’in çıktığı yıllara bakıldığında verilerin çok çeşitli şekillerde bir standarda uymaksızın saklandığını ve işlendiğini görmek mümkündür. Gelişen İnternet teknolojisinin de etkisiyle birden fazla bilgisayarın (veya programın) birbiri ile bir standart üzerinde anlaşarak konuşmaları [...]
yazan: Şadi Evren ŞEKER bir programın herhangi bir alt parçasına verilen isimdir. Daha resmî tanımı için ilave olarak bu alt parçanın belirli bir amaca yönelik olması gerektiği söylenebilir. Yani programın herhangi bir alt parçası olmasının yanında bir amaç için bölünmüş parça’ya alt program diyebiliriz. Basitçe dilde bulunan fonksiyon (function), prosedür (procedure) , metod(method) veya herhangi [...]
yazan : Şadi Evren ŞEKER Programlama yaklaşımlarından birisi olan fonksiyonel programlama günümüz dillerinin neredeyse tamamında kullanılmaktadır. Bu yaklaşımda matematik fonksiyonlarında olduğuna benzer bir şekilde alt programlar tanımlanmakta ve bu alt programların değişik argümanlar ile çalışması sağlanmaktadır. Bu yaklaşım basitçe: Kod tekrarını engellemekte ve aynı kodun farklı şartlar için tekrar tekrar çalışmasını sağlamaktadır Kodun okunaibilirliğini arttırmakta [...]
yazan: Şadi Evren ŞEKER yapısal programlama 1900lü yılların ortalarında programlama taleplerinin artması ile gelişen bir programlama felsefesidir. Buna göre programların analizi, tasarımları, kodlaması ve testleri arasındaki mantık uyumunu sağlamak amacıyla bir standarda gidilmiş ve aşağıdaki yapı çıkmıştır. Yapısal programlama amaç problemi alt parçalara bölerek bu parçaların çözümlerinin birleştirilmesidir. Bu yönüyle parçala fethet (Divide and conquere) [...]
yazan: Şadi Evren ŞEKER genel olarak bir bilginin soyut bir yapı içerisine konulmasına verilen isimdir. En çok ağ teknolojilerinde ve nesne yönelimli programlama dünyasında kullanılır. Nesne Yönelimli Programlama için anlamı bir sınıfın (class) bilgilerinin dışarıya kapalı olması ve bu sınıfın her türlü veri iletişiminin kontrol altındaki metodlar ile yapılmasıdır. Ağ teknolojileri için anlamı, katmanlı mimaride [...]
yazan: Şadi Evren ŞEKER ontoloji (varlıkbilim) terim olarak olmak ya da olmamak kavramı üzerinde durur. Yani birşeyin var olup olmamasından, nasıl olduğuna kadar uzanan süreç ontolojidir. Bu anlamda, birşeyin var olup olmaması ile ilgilenen epistomolojinin üzerine, varlıkları gruplayan ve bu gruplar arası ilişkileri belirleyen bir katman olarak düşünülebilir. Ontolojinin kökleri felsefenin bir alt konusu olan [...]
yazan: Şadi Evren ŞEKER Bilgisayar dünyasında ikili tabandaki (binary) tek haneli bir sayıyı ifade eder. Yani bir bit değeri 1 veya 0 olabilir. Bu aslında elektronik sinyali olarak yüksek (1) veya düşük (0) gerilimde akım demektir. bir bit, 1 veya 0 değeri alabildiğine göre her bit değerinin 2 farklı değer alması mümkündür. Bu durumda örneğin [...]
C ile oluşum (composition) Yazan: Şadi Evren ŞEKER Oluşum Composition, bir şeyin ufak parçaların bir araya getirilmesi ile oluşturulması anlamına gelmektedir. Buna göre örneğin bir araba, motor, koltuklar, tekerlekler vs. gibi parçalardan oluşmaktadır. Programlama dillerinde modellenmek istenen varlık alt varlıklara bölünebiliyorsa, composition kullanılarak modellenebilir. Bu yaklaşım nesne yönelimli programlama dillerinin temelini oluşturmaktadır. Ancak nesne yönelimli [...]
Bütün dünyayı nesneler ( objects ) ve nesneler arası ilişki olarak gören model kullanılarak yapılan programlama. Bu programlama tekniğine göre her nesne bir sınıfa ( class ) aittir ve bu classtan türetilir. * Örneğin çomar bir köpektir (bu cümlede çomar nesnenin ismi, köpek ise sınıf ismidir) Her sınıfın özellikleri ( attributes, properties) ve eylemleri (methods) [...]
Sun Microsystems mühendislerinden James Gosling tarafından 1996 yılında geliştirilmeye başlanmış açık kodlu, nesneye yönelik, platformdan bağımsız, yüksek performanslı, çok işlevli, yüksek seviye, adım adım işletilen (interpreted) bir dildir. Bir Java yazılımı şu şekilde geliştirilir: * Programcı Java kodunu yazar. (.java dosyası olarak kaydedilir) * Bu kod bir Java derleyicisi ile derlenir. Sonuçta bytekod adı verilen [...]
Sınıflar arası ilişkiler dünyanın modellenmesinde kullanılır. Bir sınıfın başka bir sınıftan bilgileri miras olarak alması istendiğinde aralarında inheritance ilişkisi kurulur. Örneğin personel takip sistemi yazılırken kullanılan bir nesne yönelimli modellemede, insan sınıfının boyu kilosu ve yaşı gibi özellikleri, sekreter, müdür ve mühendis gibi diğer sınıflarda da kullanılacaktır. Bu durumda inheritance (miras kalma) kullanılarak sınıflar arası [...]