<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5825240756941802647</id><updated>2011-04-21T21:10:00.590+03:00</updated><category term='Nesne'/><category term='OOP'/><category term='Değer Tipleri'/><category term='Nesne Yönelimli Programlama'/><category term='Nesne Tabanlı Programlama'/><category term='Referans Tipleri'/><category term='Struct'/><category term='Sınıf'/><title type='text'>Nesne Yonelimli Programlama (OOP)</title><subtitle type='html'>Nesne Tabanlı Programlama Hakkında Herşey. Implementation, Inheritance, Encapsulation, Polymorphism, Abstraction, Overriding, Shadowing, Overloading, Class, Property, Event, Delegate, Struct, Field, Interface, Method</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nesneyonelimliprogramlama.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nesneyonelimliprogramlama.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5825240756941802647.post-7467914031504776247</id><published>2009-02-03T21:39:00.006+02:00</published><updated>2009-02-03T22:17:07.468+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sınıf'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesne'/><title type='text'>Obje / Nesne(Object) ve Sınıf(Class) Nedir?</title><content type='html'>Bu yazıda sizlere &lt;strong&gt;obje ya da nesne(object)&lt;/strong&gt; ile &lt;strong&gt;sınıf(class) &lt;/strong&gt;kavramlarını açıklamaya çalışacağım. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Obje / Nesne (Object) : &lt;/strong&gt;Bellekte üzerindeki bir adreste yer kaplayan (ki biz buna "yaşayan" diyoruz) herşeye verilen addır. Tabi yer kaplıyorsa da ne kadar yer kapladığını ve bu yeri nasıl bir kalıba uygun olarak işgal ettiğinin de merakının uyandığını düşünüyorum...&lt;br /&gt;&lt;br /&gt;OOP(Object Oriented Programming) denilen yapı içerisinde &lt;strong&gt;"Object" &lt;/strong&gt;ifadesine odaklanmalısınız. Sanki buradan nesneleri programlamanız gerektiğini hisseder gibi oluyorsunuz. Hatta bir önceki tanımdan yola çıkarak; &lt;strong&gt;&lt;em&gt;"belirli bir adresi ve kalıbı olan bellek üzerinde yer kaplayan değerleri programlıyor olurken kullanılırlar"&lt;/em&gt;&lt;/strong&gt; sonucuna erişmeniz hiç de zor değil&lt;br /&gt;&lt;br /&gt;Yaşamdan nesneye en önemli örnek olarak: &lt;strong&gt;"belirli bir plana bakılarak yapılmış bir arabayı"&lt;/strong&gt; gösterebilirim.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sınıf (Class) : &lt;em&gt;Bellekte yer kaplayan bir nesnenin(object) ne büyükükte ve nasıl bir kalıpta olmasını gerektiğini belirttiğimiz zarf &lt;/em&gt;&lt;/strong&gt;olarak adlandırılabilir. İşin biraz daha teorik noktasına inecek olursam sınıf; birbiri ile bağlantılı birden fazla veriyi tek bir küme altında toplamak için hazırlanmış bir plan, şablon ya da kalıp olarak düşünülebilir. &lt;br /&gt;&lt;br /&gt;Eskiden struct ile verilerin kümelenmesi sağlanırdı. Günümüzde structların yerini sınıflar almıştır. Bunun nedenini sınıflar için kullanacağımız polymorphism, abstraction, inheritance gibi kavramlarla açıklıyor olacağım. Sınıfları kullanıyor olmamızın en önemli avantajı kod tekrarını azaltmak, kodun bakımını ve esnekliğini arttırmaktır.&lt;br /&gt;&lt;br /&gt;Tasarlanan sınıf olarak adlandırılan şablonları obje / nesne(object) üretmek içi kullanıyor olacağız. Böylelikle üretilen her nesne aynı kalıptan ya da bizim belirlediğim kalıplardan geliyor olacak.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Not: daha sınıflar referans tipleridir.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Yaşamdan sınıfa en önemli örnek olarak: &lt;strong&gt;"belirli bir arabayı üretmek için hazırladığımız kağıt üzerindeki planı"&lt;/strong&gt; gösterbilirim.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;O zaman genel olarak 3 adımdan bir akış oluşturmak mümkün:&lt;br /&gt;1. Sistem içerisinde devamlı kullanılacak olan verileri bulmaya çalışırız.&lt;br /&gt;   Örn: ad, soyad, tckimlikno&lt;br /&gt;2. Bu verileri sınıf olarak kümeleriz.&lt;br /&gt;   Örn: ad, soyad, tckimlikno olarak belirlediğimiz verileri Kisi sınıfı altında toplarız.&lt;br /&gt;3. Kisi sınıfını kullanan nesneler oluştururuz.&lt;br /&gt;   Örn: Kisi k = new Kisi(); //Burada k adında ve Kisi tipinde bir nesne oluşturmuş olduk.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5825240756941802647-7467914031504776247?l=nesneyonelimliprogramlama.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nesneyonelimliprogramlama.blogspot.com/feeds/7467914031504776247/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5825240756941802647&amp;postID=7467914031504776247' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/7467914031504776247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/7467914031504776247'/><link rel='alternate' type='text/html' href='http://nesneyonelimliprogramlama.blogspot.com/2009/02/obje-nesneobject-ve-snfclass-nedir.html' title='Obje / Nesne(Object) ve Sınıf(Class) Nedir?'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5825240756941802647.post-8824405308225937131</id><published>2007-09-16T14:12:00.000+03:00</published><updated>2007-09-16T16:12:49.276+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Struct'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Yönelimli Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Tabanlı Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>Struct (Daha Yakından)</title><content type='html'>&lt;strong&gt;Özellikleri:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. Değer Tipidirler.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2. Fieldlarını direkt olarak örnekleyemezsiniz. Aşağıdaki örnekte x field'ına 0 değerini atayarak ilklendirme yapmak istedim. Kodu derlediğimde(ctrl+shift+b) &lt;span style="color:#ff0000;"&gt;"Error 1 'StruckOzellikleri.Nokta.x': cannot have instance field initializers" &lt;/span&gt;&lt;span style="color:#000000;"&gt;hatası ile karşılaştım. &lt;/span&gt;&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5110786654527364034" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_nFWihUqAiOs/Ru0pYlnpG8I/AAAAAAAAABM/wXuswDqcwGs/s400/s1.JPG" border="0" /&gt;&lt;br /&gt;&lt;p&gt;3. Struct'lar default bir "yapıcı method"(contructor) a sahiptirler.&lt;/p&gt;&lt;p&gt;4. Eğer Struct içerisnde yapıcı method kullanılması gerekiyorsa, yapıcı methodun parametre alma zorunluluğu vardır. Diğer durumlarda hata ile karşılaşırız.(Not:Yapıcı method konusunu daha sonra göreceğiz.)&lt;/p&gt;&lt;p&gt;5. Struct'ların örneğini oluşturmak için new anahtar kelimesi kullanılır.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5110762714379656066" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_nFWihUqAiOs/Ru0TnFnpG4I/AAAAAAAAAAs/eLUy49Qxiy4/s400/s2.JPG" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;6. Struct'ların örneğini oluşturmak için class'lar gibi new anahtar kelimesini kullanma zorunluluğu yoktur.&lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5110763646387559314" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_nFWihUqAiOs/Ru0UdVnpG5I/AAAAAAAAAA0/Y5N3vo9wSdI/s400/s3.JPG" border="0" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;7. Class'ları miras alamazlar(inheritance) fakat interface'leri implement edebilirler.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5825240756941802647-8824405308225937131?l=nesneyonelimliprogramlama.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nesneyonelimliprogramlama.blogspot.com/feeds/8824405308225937131/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5825240756941802647&amp;postID=8824405308225937131' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/8824405308225937131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/8824405308225937131'/><link rel='alternate' type='text/html' href='http://nesneyonelimliprogramlama.blogspot.com/2007/09/struct-daha-yakndan.html' title='Struct (Daha Yakından)'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nFWihUqAiOs/Ru0pYlnpG8I/AAAAAAAAABM/wXuswDqcwGs/s72-c/s1.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5825240756941802647.post-1504486749732254804</id><published>2007-09-15T09:49:00.000+03:00</published><updated>2007-09-16T16:10:42.103+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Değer Tipleri'/><category scheme='http://www.blogger.com/atom/ns#' term='Struct'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Yönelimli Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Tabanlı Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>Değer Tipleri ve Struct</title><content type='html'>Değer tipleri için : "Değer tipleri, belleğin stack bölümünde saklanan değerler olarak adlandırılırlar." ifadesini kullanmıştım. Değer tiplerinin stack üzerinde saklanmasının meydana getirdiği bazı davranışlar söz konusudur. &lt;div&gt;&lt;br /&gt;&lt;div&gt;Özellikleri;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;1- Referans tutmazlar.&lt;/div&gt;&lt;div&gt;2- Belleğin stack bölümünde saklanırlar.&lt;/div&gt;&lt;div&gt;3- Operasyonlara katıldıklarında kendilerini stack üzerinde kopyalarlar.&lt;/div&gt;&lt;a href="http://1.bp.blogspot.com/_nFWihUqAiOs/RuuHVlnpG1I/AAAAAAAAAAU/Nzt2_KJuntk/s1600-h/struct.JPG"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;3. Maddeyi aşağıdaki örnek bize açıklamaktadır.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5110327200400874338" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_nFWihUqAiOs/RuuHg1npG2I/AAAAAAAAAAc/azu3R2LqXJI/s400/struct.JPG" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_nFWihUqAiOs/RuuDiVnpG0I/AAAAAAAAAAM/XT79NsLZBMI/s1600-h/struct.JPG"&gt;&lt;/a&gt;1- Yukarıda Nokta adında bir struct oluşturdum ve bunun içerisinde iki adet int tipinde değişken tanımladım. (Not: Sınıf ya da struct içerisinde global olarak tanımlanan değişkenlere field adı verilir.)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;2- Main metodu altında ise nokta yapısından nokta1 adında bir örnek oluşturdum ve x değişkenine 3, y değişkenine 4 değerlerini atadım. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;3-Nokta yapısından nokta2 adında bir örnek daha oluşturdum ve bu örneğin değerini nokta1 olarak belirledim.(işte bu nokta değer tiplerinin operasyonlara katılması noktası. Burada nokta1 bütün özellikleriye stack üzerinde kopyalanıyor ve nokta2 nokta1'den bağımsız bir örnek haline geliyor)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;4- nokta1 adlı örnekteki x ve y değişkenlerinin değerlerini değiştirdim.(nokta1 ile nokta2 birbirinden bağımsiz nesneler olduklarından bu değişiklik sadece nokta1'i etkileyecek, nokta2 bu değişiklikten etkilenmeyecektir.)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;5- nokta1 ve nokta2'nin x ve y değişkenlerinin değerlerini ekrana yazdırdım.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Sonuc : &lt;/div&gt;&lt;br /&gt;&lt;div&gt;nokta1 için : 5 ve 15&lt;/div&gt;&lt;br /&gt;&lt;div&gt;nokta2 için : 3 ve 4&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5825240756941802647-1504486749732254804?l=nesneyonelimliprogramlama.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nesneyonelimliprogramlama.blogspot.com/feeds/1504486749732254804/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5825240756941802647&amp;postID=1504486749732254804' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/1504486749732254804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/1504486749732254804'/><link rel='alternate' type='text/html' href='http://nesneyonelimliprogramlama.blogspot.com/2007/09/deer-tipleri-ve-struct.html' title='Değer Tipleri ve Struct'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nFWihUqAiOs/RuuHg1npG2I/AAAAAAAAAAc/azu3R2LqXJI/s72-c/struct.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5825240756941802647.post-7452489619509429048</id><published>2007-09-05T20:33:00.000+03:00</published><updated>2007-09-05T20:50:21.683+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Değer Tipleri'/><category scheme='http://www.blogger.com/atom/ns#' term='Referans Tipleri'/><title type='text'>Veri Tipleri</title><content type='html'>Nesne yönelimli programlamanın başlangıç noktası olan veri tipleri .net framework içerisinde Değer Tipleri ve Referans Tipleri olmak üzere ikiye ayrılır. Visual studio .net içerisinde bulunan CLR(Common Language Runtime), bizim yerimize belleği yönetir. C++ programıcılarının daha yakın olduğu bellek yönetimi, .net'in arka planında  c++'ın çalışma mantığına çok yakın bir mimari otomatik hale getirilmiştir.&lt;br /&gt;&lt;br /&gt;Referans tipleri, c++'ta kullanılan işaretçi mantığına çok benzerler ve oluşturulduklarında belleğin stack bölümünde referansları saklanır ve heap bölümünde referansın işaret ettiği değer saklanır. Referans tipleri ile ilgili daha detaylı bilgiyi "Referans Tipleri İle Çalışmak" başlığında görebilirsiniz.&lt;br /&gt;&lt;br /&gt;Değer tipleri ise belleğin stack bölümünde saklanan değerler olarak adlandırılırlar.&lt;br /&gt;&lt;br /&gt;İki tip arasındaki farkı rahat olarak anayabilmemiz için bu konuları teker teker ele alarak açıklayacağım.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5825240756941802647-7452489619509429048?l=nesneyonelimliprogramlama.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nesneyonelimliprogramlama.blogspot.com/feeds/7452489619509429048/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5825240756941802647&amp;postID=7452489619509429048' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/7452489619509429048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/7452489619509429048'/><link rel='alternate' type='text/html' href='http://nesneyonelimliprogramlama.blogspot.com/2007/09/veri-tipleri.html' title='Veri Tipleri'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5825240756941802647.post-8608669509901859334</id><published>2007-09-04T21:15:00.000+03:00</published><updated>2007-09-04T21:25:50.052+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Yönelimli Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Tabanlı Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>Nesne Yönelimli Programlamaya Başlamadan Önce...</title><content type='html'>Nesne yönelimli programlama içerisindeki konulara başlamadan önce kendimize bir programalama dili seçmeliyiz.  .Net üzerindeki tecrübelerimden dolayı C#'ı tercih ediyorum. Asıl amacımın nesne yönelimli programalamayı anlatmak olduğunu unutmada C# dili üzerinde örneklerimizi yapacağız.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5825240756941802647-8608669509901859334?l=nesneyonelimliprogramlama.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nesneyonelimliprogramlama.blogspot.com/feeds/8608669509901859334/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5825240756941802647&amp;postID=8608669509901859334' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/8608669509901859334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/8608669509901859334'/><link rel='alternate' type='text/html' href='http://nesneyonelimliprogramlama.blogspot.com/2007/09/nesne-ynelimli-programlamaya-balamadan.html' title='Nesne Yönelimli Programlamaya Başlamadan Önce...'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5825240756941802647.post-4852962148700639384</id><published>2007-09-04T20:06:00.000+03:00</published><updated>2007-09-04T21:12:04.209+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Yönelimli Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Tabanlı Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>Neden Nesne Yönelimli Programlama?</title><content type='html'>Nesne yönelimli programlama üzerine Wikipedia aşağıdaki gibi bir tanım yapmış. Bu tanımın blog'ta bulunmasının nedeni ise Wikipedia'nın değerli bir kaynak olmasıdır.&lt;br /&gt;&lt;br /&gt;Nesne yönemli programlama üzerine bir çok tanım yapılabilir fakat biz uygulama geliştiren kişilerin tanımları daha açık bir şekilde kavrayıp, uygulamak üzerine odaklanmamız gerekiyor. Bu işin önemli tarafı da bu zaten.&lt;br /&gt;&lt;br /&gt;Daha önceleri prosedürel programlama adı verilen bir programlama tekniği ile uygulamalar geliştiriliyordu. Binlerce alt alta yazılmış kodlar arasında yazılım geliştiricilerin aynı uygulamanın kodlarını devamlı kopyalayarak ve yapıştırarak yeni kod parçacıkları oluşturduğu bir kodlama tekniğiydi. Prosedürel protramlama tekniği kullanılarak geliştirilen kodlar sonucunda ortaya çıkan uygulamalar, günün hızlı değişen koşullarına yetişmek için yeterli esneklikte olmadığı için zamanla tercih edilmemeye başlandı.&lt;br /&gt;&lt;br /&gt;O zaman prosedürel programlama ile ilgili iki sorundan söz edebiliriz :&lt;br /&gt;&lt;br /&gt;1- Tekrar kullanılabilir kod sayısının az olması yani kopyalama yapıştırmanın çok tekrar edilmesi.&lt;br /&gt;2- Teknolojinin çok ilerlediği büyük firma sayısının arttığı bir dönemdeki değişikliklere rahat ayak uyduramaması.&lt;br /&gt;&lt;br /&gt;Nesne yönelimli programlama hayatın sanal ortama aktarılmış bir halidir. Hayatın içerisinde var olan hiyerarşi, nesne yönelimli programlama içerisinde de aynen bulunmaktadır. Nesne yönelimli programlama belirli bir kalıp üzerine oturtulaması ya da nesne tabanlı programlama budur ve bu şekilde kodlanır denmesi bana göre yanlıştır. Nesne yönelimli programlama sorunlar içerisinde durumlar tanımlar ve tanımlanan durumlara göre kendi başlarına davranışlar gösterebilen nesneler tanımlayarak problemlere çözümler geliştirir. Aslında kendi içerisinde sistemler barındıran büyük bir sistem kuran programlama tekniğidir.&lt;br /&gt;&lt;br /&gt;Nesne yönelimli programlama ile ilgili bilgileriniz gün geçtikçe dah da derinleşecektir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5825240756941802647-4852962148700639384?l=nesneyonelimliprogramlama.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nesneyonelimliprogramlama.blogspot.com/feeds/4852962148700639384/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5825240756941802647&amp;postID=4852962148700639384' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/4852962148700639384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/4852962148700639384'/><link rel='alternate' type='text/html' href='http://nesneyonelimliprogramlama.blogspot.com/2007/09/neden-nesne-ynelimli-programlama.html' title='Neden Nesne Yönelimli Programlama?'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5825240756941802647.post-736365062648637610</id><published>2007-09-04T20:01:00.000+03:00</published><updated>2007-09-04T21:13:31.182+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Yönelimli Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Tabanlı Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>Nesne yönelimli programlama (NYP)</title><content type='html'>Nesne yönelimli programlama (NYP) (İngilizce - Object Oriented Programming (OOP)) özetle bir bilgisayar programlama yaklaşımıdır.&lt;a title="NYP'dan önceki uygulamaların bakım maliyeti ve karmaşıklık ilişkisi" href="http://tr.wikipedia.org/wiki/Resim:UygulamaBakimMaliyeti.PNG"&gt;&lt;/a&gt;&lt;a title="Büyüt" href="http://tr.wikipedia.org/wiki/Resim:UygulamaBakimMaliyeti.PNG"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;NYP'dan önceki uygulamaların bakım maliyeti ve karmaşıklık ilişkisi1960'lı yılların sonuna doğru ortaya çıkan bu yaklaşım, o dönemin yazılım dünyasında beliren bir bunalımın sonucudur. Yazılımların karmaşıklığı ve boyutları sürekli artıyor, ancak belli bir nitelik düzeyi korumak için gereken bakımın maliyeti (zaman ve çaba olarak) daha da hızlı artıyordu. NYP'yi bu soruna karşı bir çözüm haline getiren başlıca özelliği, yazılımda birimselliği (İngilizce - modularity) benimsemesidir.&lt;br /&gt;&lt;br /&gt;NYP'nın altında yatan birimselliğin ana fikri, her bilgisayar programının (izlence), etkileşim içerisinde olan birimler veya nesneler kümesinden oluştuğu varsayımıdır. Bu nesnelerin her biri, kendi içerisinde veri işleyebilir, ve diğer nesneler ile çift yönlü veri alışverişinde bulunabilir.&lt;br /&gt;&lt;br /&gt;Halbuki NYP'dan önce var olan tek yaklaşımda (Yordamsal programlama), programlar sadece bir komut dizisi veya birer işlev (fonksiyon) kümesi olarak görülmektediler.Bilimsel çevreler tarafından NYP'nın geçmişe göre daha yüksek esneklik ve bakım kolaylığı sunduğu iddia edilmektedir. Bu sebepten dolayı, günümüzün geniş çaplı yazılım projelerinde yaygınca kullanılmaktadır.&lt;br /&gt;&lt;br /&gt;Kaynak : &lt;a href="http://tr.wikipedia.org/wiki/Nesne_YÃ¶nelimli_Programlama"&gt;http://tr.wikipedia.org/wiki/Nesne_YÃ¶nelimli_Programlama&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5825240756941802647-736365062648637610?l=nesneyonelimliprogramlama.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nesneyonelimliprogramlama.blogspot.com/feeds/736365062648637610/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5825240756941802647&amp;postID=736365062648637610' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/736365062648637610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/736365062648637610'/><link rel='alternate' type='text/html' href='http://nesneyonelimliprogramlama.blogspot.com/2007/09/nesne-ynelimli-programlama-nyp.html' title='Nesne yönelimli programlama (NYP)'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5825240756941802647.post-830872528208187720</id><published>2007-09-04T19:58:00.000+03:00</published><updated>2007-09-04T21:13:01.840+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Yönelimli Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='Nesne Tabanlı Programlama'/><category scheme='http://www.blogger.com/atom/ns#' term='OOP'/><title type='text'>Açılış...</title><content type='html'>Değerli Yazılımcı Arkadaşlar,&lt;br /&gt;&lt;br /&gt;Derste öğrencilerimle yaptığım konuşmadan sonra nesne yönelimli programala(object oriented programming) ile iligi bir bölüm oluşturmaya karar verdim.&lt;br /&gt;&lt;br /&gt;Amacım üzerinde uzun süreler çalışarak elde ettiğim nesne tabanlı programlama bilgilerimi öğrencilerim ve sizlerle paylaşmak. Yoğunluğum nedeniyle ne kadar sık yazabileceğimi tam olarak kestiremesem de, böyle bir başlangıç yapmak açıkçası beni heyecanlandırıyor.&lt;br /&gt;&lt;br /&gt;Bu blog içerisinde hangi konların geçeceğini merak edenler için kısa bir açıklama yapmak isterim:&lt;br /&gt;&lt;br /&gt;Öncelikle bir yol haritası belirleyeceğim ve C# söz dizimini kullanarak konuları işleyeceğim. Her ne kadar C# söz dizimi ile kodlama yapacak olsamda amacım sizlere nesne yönelimli programlama mantığını ve kullanımlarını aktarabilmek.&lt;br /&gt;&lt;br /&gt;Şimdiden hepimiz için hayırlı olsun...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5825240756941802647-830872528208187720?l=nesneyonelimliprogramlama.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nesneyonelimliprogramlama.blogspot.com/feeds/830872528208187720/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5825240756941802647&amp;postID=830872528208187720' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/830872528208187720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5825240756941802647/posts/default/830872528208187720'/><link rel='alternate' type='text/html' href='http://nesneyonelimliprogramlama.blogspot.com/2007/09/al.html' title='Açılış...'/><author><name>Çağdaş DAVULCU</name><uri>http://www.blogger.com/profile/00183722762436779962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
