Nesne yönelimli programlama - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Nesneler ve sınıflar
  • 2 Tarih
  • 3 Ayrıca bakınız
  • 4 Dış bağlantılar

Nesne yönelimli programlama

  • Afrikaans
  • العربية
  • الدارجة
  • Asturianu
  • Azərbaycanca
  • Беларуская
  • Беларуская (тарашкевіца)
  • Български
  • বাংলা
  • Bosanski
  • Català
  • کوردی
  • Čeština
  • Dansk
  • Deutsch
  • Ελληνικά
  • English
  • Esperanto
  • Español
  • Eesti
  • Euskara
  • فارسی
  • Suomi
  • Français
  • Galego
  • עברית
  • हिन्दी
  • Hrvatski
  • Magyar
  • Հայերեն
  • Bahasa Indonesia
  • Ilokano
  • Ido
  • Íslenska
  • İtaliano
  • 日本語
  • ქართული
  • Qaraqalpaqsha
  • Қазақша
  • 한국어
  • Кыргызча
  • Latina
  • Lietuvių
  • Latviešu
  • Македонски
  • മലയാളം
  • Монгол
  • मराठी
  • Bahasa Melayu
  • မြန်မာဘာသာ
  • Nederlands
  • Norsk nynorsk
  • Norsk bokmål
  • Polski
  • Piemontèis
  • Português
  • Română
  • Русский
  • Русиньскый
  • Sicilianu
  • Srpskohrvatski / српскохрватски
  • සිංහල
  • Simple English
  • Slovenčina
  • Shqip
  • Српски / srpski
  • Svenska
  • Kiswahili
  • தமிழ்
  • Тоҷикӣ
  • ไทย
  • Tagalog
  • Українська
  • اردو
  • Oʻzbekcha / ўзбекча
  • Tiếng Việt
  • 吴语
  • 中文
  • 閩南語 / Bân-lâm-gí
  • 粵語
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Wikimedia Commons
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi

Nesne yönelimli programlama veya kısaca NYP (İngilizce: object-oriented programming, Kısaltma: OOP), Her işlevin nesneler olarak soyutlandığı bir programlama yaklaşımıdır. NYP destekleyen programlama dilleri yüksek seviye diller olarak adlandırılır.

NYP'den önceki uygulamaların bakım maliyeti ve karmaşıklık ilişkisi

1960'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 (modularity) benimsemesidir. NYP ayrıca, bilgi gizleme (information hiding), veri soyutlama (data abstraction), çok biçimlilik (polymorphism) ve kalıtım (inheritance) gibi yazılımın bakımını ve aynı yazılım üzerinde birden fazla kişinin çalışmasını kolaylaştıran kavramları da yazılım literatürüne kazandırmıştır. Sağladığı bu avantajlardan dolayı, NYP günümüzde geniş çaplı yazılım projelerinde yaygın olarak kullanılmaktadır.

NYP'nin 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. Hâlbuki NYP'den önce var olan tek yaklaşımda (Yordamsal programlama), programlar sadece bir komut dizisi veya birer işlev (fonksiyon) kümesi olarak görülmektedirler.

Günümüzde çok çeşitli nesne tabanlı programlama dilleri olmasıyla beraber, en popüler diller sınıflar üzerine kurulmuşlardır (class-based [en]). Bu dillerde nesneler sınıfların birer üyesidir ve nesnelerin tipini de bu sınıflar belirlerler.

En yaygın NYP dillerinden bazıları, Python, C++, Objective-C, Smalltalk, Delphi, Java, Swift, C#, Perl, Ruby ve PHP' dir.

Nesne yönelimli programlama dilleri yukarıda adı geçen tüm ögelere sahip olurken, Ada, JavaScript, Visual Basic gibi nesne tabanlı programlama dilleri birkaçından yoksundur, bu dillerin başlıca yoksunluğu kalıtıma sahip olmamalarıdır.

Nesneler ve sınıflar

[değiştir | kaynağı değiştir]

NYP'yi destekleyen programlama dilleri genellikle tekrar kullanım ve genişletilebilirlik açısından, prototipler ve sınıflar şeklinde kod kalıtımına sahiptirler ve NYP deki nesneler kimi zaman gerçek dünyada bulunan şeylere karşılık gelebilir. Mesela bir grafik programı "kare", "üçgen" ve "yuvarlak" gibi nesnelere sahip olabilir. Bazen nesneler daha soyut şeyleri de temsil edebilirler, mesela bir hesap makinesi programı logaritma almanızı ya da metreyi fite çevirmenizi sağlayacak nesnelere sahip olabilir. İşte bu bahsi geçen nesneler belli sınıflar altında bulunurlar, mesela "Kasım" adında bir nesne Aylar sınıfının bir üyesi olabilir ya da "Faktöriyel" olarak isimlendirilmiş bir nesne Fonksiyonlar sınıfında yer alıyor olabilir.

Tarih

[değiştir | kaynağı değiştir]

Nesne yönelimli programı, 1960 yılında Norveçli Norsk Resgnesentral tarafından icat edildi. Resgnesentral, ilk nesle odaklı dili olan Simula'yi üretti. 1961 yılında Simula l sınıflandırması ve sınıfların kullandığı nesneleri kullanılmaya başladı. 1967'de Ole-Johan Dahl ve Kristen Nygaard Simula 67'yi keşfetti. Simula 67, nesne yönelimlin ilk dili olarak kabul edildi ve nesne yönelimli olma kriterlerini karşılıyor. Algo 60 temelini Simula'yi olusturmak icin kullanılmışteır. Simula üniversite dışında pek ilgi görmedi.

1970 yılındaki yazılım krizinde modülerleştirmede yeni doğan dillerde nesne yönelimli olmasa da ona gerekli olan veri türü kavramını içeriyordu. Bu diller sayesinde, nesne yönelimli programlar geliştirildi.

1980 yılında ise yeni nesne yönelimli diller üretildi, örneğin Objective-C, C++ ve Eiffel. Nesne yönelimli diller üretildiğinde nesne yönelim yeri yazılımda sağlama alindi. 1990'larda nesne yönelimli programlama yaygınlaştı bunun sebebi ise doksanlarda grafik kullanıcı arayüzlerinin popülerliğinin artmasıydı.

Son zamanlarda, nesne yönelimli programların değeri daha'da artti, çünkü nesne yönelimli programların verimli ve bakımını kolay elde etmek icin büyük katkıda bulunyor. Günümüzde yaygin olan Python ve Ruby dilleri, prosedürel programlama dilleri ile uyumludur. Ticari açıdan ise muhtemelen en önemli programa dili ise Java'dır. Java'nin kurucusu Sun Microsystems ayni zamanda C# ve Visual Basic.NET'in (VB.NET olarak da bilinir) kurucusudur.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • CORBA
  • Nesne tabanlı programlama dili
  • Nesne Yönelimli Çözümleme ve Tasarım
  • Sarma (Bilgisayar Bilimleri)
  • Soyutlama (Bilgisayar Bilimleri)
  • Tasarım şablonları

Dış bağlantılar

[değiştir | kaynağı değiştir]
  • İTÜ Ninova Açık Ders Malzemeleri 13 Ocak 2010 tarihinde Wayback Machine sitesinde arşivlendi., Nesne Yönelimli Programlama
  • Actionscript ve Nesne Yönelimli Programlama (OOP) (Türkçe)
  • g
  • t
  • d
Bilgisayar biliminin alt dalları
Matematiksel temeller
Matematiksel mantık · Kümeler kuramı · Sayı teorisi · Çizge teorisi · Tip teorisi · Kategori teorisi · Sayısal çözümleme · Bilgi teorisi · Kombinatorik · Boole cebiri
Hesaplama teorisi
Otomat teorisi · Hesaplanabilirlik teorisi · Hesaplamalı karmaşıklık teorisi · Kuantum hesaplama teorisi
Algoritmalar ve veri yapıları
Algoritma çözümlemesi · Algoritma tasarımı · Hesaplamalı geometri
Programlama dilleri ve derleyiciler
Ayrıştırıcılar · Yorumlayıcılar · Yordamsal programlama · Nesne yönelimli programlama · Fonksiyonel programlama · Mantık programlama · Programlama paradigmaları
Eşzamanlı, paralel ve dağıtık sistemler
Çoklu işleme · Dağıtımlı hesaplama · Eşzamanlılık denetimi
Yazılım mühendisliği
Gereksinim çözümleme · Yazılım tasarımı · Bilgisayar programlama · Biçimsel yöntemler · Yazılım testi · Yazılım geliştirme süreci
Sistem mimarisi
Bilgisayar mimarisi · Bilgisayar organizasyonu · İşletim sistemi
Telekomünikasyon ve ağ oluşturma
Bilgisayar müziği · Yönlendirme · Örgü topolojisi · Kriptografi
Veritabanları
Veritabanı yönetim sistemleri · İlişkisel veritabanı · SQL · İşlem yürütme · Veritabanı indeksleme · Veri madenciliği · Metadata (Üst veri) · Ana veri (Master data)
Yapay zekâ
Otomatikleştirilmiş muhakeme · Bilgisayarlı dilbilim · Bilgisayarlı görü · Evrimsel hesaplama · Uzman sistemler · Makine öğrenimi · Doğal dil işleme · Robotik
Bilgisayar grafikleri
Görselleştirme · Bilgisayar animasyonu · Görüntü işleme
İnsan-bilgisayar etkileşimi
Bilgisayar erişilebilirliği · Kullanıcı arayüzleri · Giyilebilir hesaplama · Yaygın bilişim · Sanal gerçeklik
Bilimsel hesaplama
Yapay yaşam · Biyoenformatik · Bilişsel bilim · Bilgisayarlı kimya · Hesaplamalı nörobilim · Hesaplamalı fizik · Sayısal algoritmalar · Sembolik matematik
Bilgisayar bilimi, ACM Hesaplama ve Sınıflandırma Sistemi'ne göre farklı konu ve alanlara ayrılabilir.
Otorite kontrolü Bunu Vikiveri'de düzenleyin
  • BNE: XX537453
  • BNF: cb12115131k (data)
  • GND: 4233947-9
  • LCCN: sh87007503
  • NDL: 00937980
  • NKC: ph115529
  • NLI: 987007539278305171
"https://tr.wikipedia.org/w/index.php?title=Nesne_yönelimli_programlama&oldid=36043979" sayfasından alınmıştır
Kategori:
  • Nesne yönelimli programlama
Gizli kategoriler:
  • Webarşiv şablonu wayback bağlantıları
  • BNE tanımlayıcısı olan Vikipedi maddeleri
  • BNF tanımlayıcısı olan Vikipedi maddeleri
  • GND tanımlayıcısı olan Vikipedi maddeleri
  • LCCN tanımlayıcısı olan Vikipedi maddeleri
  • NDL tanımlayıcısı olan Vikipedi maddeleri
  • NKC tanımlayıcısı olan Vikipedi maddeleri
  • NLI tanımlayıcısı olan Vikipedi maddeleri
  • Sayfa en son 09.47, 19 Eylül 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Nesne yönelimli programlama
Konu ekle