Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
C++ / C++.NET
YAZAR HAKKINDA
Yusuf Nar
http://www.csharpnedir.com/
İletişme geçmek için
tıklayın
.
2
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
C++ / C++.NET
Yusuf Nar
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Başlangıç
Kategori
:
C++ / C++.NET
Yayınlanma Tarihi
:
18.6.2003
Okunma Sayısı
:
75282
Yorum Sayısı
:
2
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Turhal Temizer
Conda install environment.yml Package
23.11.2024
Turhal Temizer
Mac OS/X Removing CUDA
23.11.2024
Burak Selim Şenyurt
Rust ile ECS Yaklaşımını Anlamak
23.11.2024
Burak Selim Şenyurt
Birlikte Rust Öğrenelim Serisi
23.11.2024
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
Yusuf Nar
/
C++ / C++.NET
/
C ile C++ Arasındaki Farklar - I
C ile C++ Arasındaki Farklar - I
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
C diline (veya) C++ diline yabancı olan fakat merakla izleyen çoğu kimsede ilgi uyandıran bir konu olacağı düşüncesiyle bu makalenin faydalı olacağını ümit ediyoruz.
Öncelikle şunu belirtelim; bu makalenin konusu bir takım teknik konuları veya kod parçalarını incelemekten ziyade bu dillerin temel farklılıkları üzerinde olacak.
Programlama dillerinde tasarım yönünden eksiklikler olabilmektedir. Şu ana kadar 1500 civarında programlama dilinin varlığından söz ediliyorsa bunun en önemli nedeni dillerin daha çok spesifik amaçlar için tasarlanmasıdır. C++ dilinin ortaya çıkışını bu bağlamda ele alabiliriz. C++ dili C dilinden türemiştir. Yani C++ dili; C'deki eksiklikler giderilerek ve C' de olmayan birçok ek özellik getirilerek ortaya çıkmıştır diyebiliriz.
C++' ın en başta gelen farklılığı ise Nesne Yönelimli (Object-Oriented) olmasıdır. Buna karşın C fonksiyonel bir dildir (procedural). Peki tam olarak nedir Nesnel Yönelimli Programlama? Kısaca değinecek olursak; C dilinde (veya fonksiyonel herhangi bir dilde) program yazarken programımızı fonksiyonlara parçalar ve tasarlardık. Yani programımızın temel parçası fonskyionlar idi. C++ da ise programlarımızın temel birimi nesnelerdir. Örneğin bir satranç oyununu simule eden programı yazdığımızı düşünelim. Programda bazı nesnelerin Satranç tahtası, Piyon, Vezir, vs olacagini düşünebiliriz. Bu şekilde program yazmak hepimizin farkedecegi gibi daha kolay ve en önemlisi de gerçeğe daha uygundur. Zaten nesne yönelimli programlamanın ortaya çıkışında yatan ilham kaynaği da diyebileceğimiz en önemli unsur gerçek dünyayı modelleyebilmektir.
Farklı bir örnekle konuyu açıklamaya çalışalım. Mesela programımızda "otomobil" diye bir nesnemizin olduğunu düşünelim. Bu nesnenin direksiyon, fren, kapı gibi elemanları oldugu gibi gitmek, hızlanmak gibi özellikleri de olmalıdır. Hatta bu alt elemanların da kendilerine ait elemanlari ve özellikleri olduğunu ve otobomil nesnesinin de üyesi olduğu daha kompleks bir nesne olduğunu düşünebiliriz. Işte C++ bize böyle karmaşık yapıyı kolayca tasarlayabileceğimiz bir araç sunuyor. Bu yapıyı program içinde C de olmayan yeni bir anahtar sözcük (keyword) olan class (sınıf) ile kuruyoruz. class yapılarının C deki struct veri yapısına benzediği kısmen doğrudur fakat artık class yapıları içinde fonksiyon tanımlayabiliyoruz.
Basit bir örnekle açıklayacak olursak; C de oluşturduğumuz iki tane farklı yapı düşünelim. X ve Y yapilari. X' i Y' ye kopyalamak için " Y = X; " gibi bir ifade kullanamazdık. C++ ile kopyalamanın ne şekilde olacağını belirterek bunu doğal olarak yapabiliyoruz.
Bu noktada sorabilecegimiz en önemli soru şudur : Bu işlemi biz C dilinde de farklı bir yolla yapabilirdik, o halde neden C++? Şunu belirtelim ki C++ ile yazabildigimiz tüm programları kesinlikle C diliyle de yazabiliriz. Fakat programımızın boyutu büyüdükçe, karmaşıklıgı arttıkça ve zamanın bizim için çok önemli oldugunu düsündüğümüzde artık yazabilmekten ziyade hızli, kolay ve efektif bir şekilde program yazmanın gerekliliği ortaya çıkıyor ve bu noktada Nesne Yönelimli Programlamanın ihtiyacını hissediyoruz.
Aslında burada belirtilmesi gereken diger bir husus daha vardır. C ile de şüphesiz nesnel programlama yapabiliriz. Fakat bunu yapabilmek oldukça zordur. C++ ise Nesne yönelimli programlamaya imkan vermekten öte zaten bu paradigmaya göre tasarlanmıştır ve yapısındaki araçlar sayesinde bunu kolaylaştırmıştır.
Gelecek yazımızda C ile C++ arasındaki farkları daha ayrıntılı olarak incelemeye çalışacagız.
Makale:
C ile C++ Arasındaki Farklar - I C++ ve C++.NET dili Yusuf Nar
Yazılan Yorumlar
Yorum Yaz
TEM
25
2005
Sinan Prince
/
üye hakkında
Oldukça iyi anlatılmış,teşekkürler...
HAZ
18
2003
Sefer Algan
/
üye hakkında
hoş ve açıklayıcı bir yazı olmuş.. elinize sağlk
Sayfalar :
1
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl