Nesne tabanlı programlama nedir

canerece3

Öğrenci
Katılım
2 Şubat 2009
Mesajlar
22
Reaksiyon puanı
0
Puanları
1
arkadaşlar ödevim bu konuyu anlatmak internette buldum yeterince bilgi fakat mantiğini tam anlayamıyorum
bana 6-7 cümlede mantığını anlatabilirmisiniz. Birkaç sorum olacak.
1.Nesne tabanlı programlama her dilde kullanma mantığı aynımıdır
2.Nesne tabanlı programlama ile neler yapılabilir
3.Nesne tabanlı programlama niçin gerekti
4.Nesne tabanlı programlama ile nesneye yönelik programlama arasındaki fark nedir
yardımlarınız için sağolun arkadaşlar.
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
"Yazılım dili", "algoritmik yapı tasarımları" ve bu gibi yazılımsal her tür olguyla arasında gereğince mesafe bulunan (gereğince diyoruz, çünki mantıksal bir kaç yapısal uyum çelişkileri oluyor örn: trafik simulasyonunda arabaların mı yol'a eşlik etmesi gerektiği yoksa yol'un mu oluşturulcak araba yapısını sınırlandırıcak kadar katı oluşturulması gerektiği mi falan felan.)

Ya kafanı karıştırmak değil amacım şu ana kadar bi baktımda mesaja, pekte anlaşılabilir değil, işin özü şu, nesne yönelimli programlama, hiç bir yazılım dili ile alakalı değildir, başlı başına bir tasarım sistemidir.

Yani yukarıdaki örnekteki gibi aslında herşey, amacın diyelim trafik simulasyonu programı yazmak;
e burdaki her trafik ışığı, her araba ve her trafik denetçisi bir nesne olur dimi ?
trafik ışıklarının özellikleri;
3 ihtimalli bir yargı sistemi, "-dur -az bekle -geç usta ! :D"
yani programdaki herşeyi gerçek hayattan yola çıkarak tasarlıyorsun.

ve programdaki her trafik lambasını tek tek tasarlamak yerine "eş değer" olgular için temel bir kavram "mesela trafik ışıklarından devam edelim" oluşturuyorsun.

"Trafik ışığı" nesnesi, programdaki tüm trafik ışıkları için temel bir nesne görevi görür, bir trafik ışığının nasıl davranıcağını, neler içericeğini belirtir.

herşeyi nesnelere yönelik düşünürsün, gerçek hayattan modellersin ve sonra (hangi yazılım dilini kullanacağın sana kalmış) bir nesne yönelimli program ile kodlamaya geçersin. :D

ps:yukarıdaki örnek hardcore ama inan oop (nesne yönelimli programlama) ile herşey çook sade bir biçimde ele alınabiliyor, ve geri kalan senin yazılım bilgine kalıyor. :D

--bu güne kadar ki birikimim bundan ibaret, hatalarım varsa şimdiden affola...
 

green_lion

Asistan
Katılım
19 Şubat 2006
Mesajlar
327
Reaksiyon puanı
5
Puanları
18
En basit anlatımı
insan isminde bir nesne tanımlarsın.
Sonra nereden çağırırsan çağır sana insan gelir. Çağırırken insan dersin bir anda insanın tüm özellikleri (kol, bacak, zeka) gelir. İstersen yalın olarak kullanırsın istersen özellik ekler değiştirirsin. Mesela helikopter kullanım özelliği gibi.
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
Yani birşeyler için sen kalıbı oluşturuyorsun, bak nesne yönelimli programlamanın kıymetini bilmek için önce diğer programlama yaklaşımlarının cefasını çekmelisin, aslında en açık anlatımı bu olucak.

prosedürel programlama yaptın mı hiç bilmem ama, gerçekten kabus gibi. :D
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
"...Consider this bicycle analogy:a bicycle is an object you use to ride from one place to another. Because bicycle is a physical object, it has several inherent characteristics. It has a brand name a color gears brakes and wheels and it is built in a particular style it might be a touring bike a mountain bike or a bicycle built for two. In Visual Basic terminology there characteristic are properties of the bicycle object. Most of the bicycle's properties were defined when the bicycle was built. But others (tires,travel,speed, and options such as reflectors and mirrors) are properties that change while the bicycle is used. The bike might even have intangible (that is invisible) properties such as manufacture data current owner or rental status. As you work with Visual Basic you'll use object properties of both types visible and invisible..."
 

canerece3

Öğrenci
Katılım
2 Şubat 2009
Mesajlar
22
Reaksiyon puanı
0
Puanları
1
şıkların cevaplarını pek alamadım arkadaşlar
1.Nesne tabanlı programlama her dilde kullanma mantığı aynımıdır
2.Nesne tabanlı programlama ile neler yapılabilir
3.Nesne tabanlı programlama niçin gerekti
4.Nesne tabanlı programlama ile nesneye yönelik programlama arasındaki fark nedir
 

algea

Doçent
Katılım
15 Temmuz 2011
Mesajlar
505
Reaksiyon puanı
22
Puanları
18
Linear dillerin sonrasında gelişen soyutlamayı artırmak için modifikasyonudur. İş yükünü ve algılamayı artırıcı etkisi vardır hayattaki gerçek nesnellerden ilham alır. Nesneye yönelik programlama gerçek bir nesnel yöntem değildir vbasic örneği vb.net ile bu aşılmıştır
 

LeaveNhA

Doçent
Katılım
4 Aralık 2011
Mesajlar
598
Reaksiyon puanı
5
Puanları
18
Linear dillerin sonrasında gelişen soyutlamayı artırmak için modifikasyonudur. İş yükünü ve algılamayı artırıcı etkisi vardır hayattaki gerçek nesnellerden ilham alır. Nesneye yönelik programlama gerçek bir nesnel yöntem değildir vbasic örneği vb.net ile bu aşılmıştır

Oha, hiç böyle 12 den vuran bi tanım görmemiştim... :D
[MENTION=58969]canerece3[/MENTION] aslında tam anlamıyla budur...
 

kizanlik

Asistan
Katılım
25 Mart 2012
Mesajlar
250
Reaksiyon puanı
0
Puanları
0
[MENTION=58969]canerece3[/MENTION]

Konu hala aktif mi bilemiyorum. Ödevinin vakti varsa, faydası olur. Toptan cevaplayayım:

Nesne Tabanlı Programlama ile Nesne Yönelimli Programlama aynı DEĞİLDİR. NTP olmasaydı NYP de olmazdı.

NTP dillerinden C, Object Pascal ve Object C en çok bilinen ve kullanılan dillerdir. Bugün, Apple için uygulamalar Object C ile geliştirilmektedir.

NYP dillerine ise C++, C#, Java, VB.NET örnek verilebilir. Hemen her platformda kullanılır.

NTP ve NYP dillerden bağımsızdır. Tamamen programcının mantığına dayanır.

NTP dilinde "şablon" oluşturulur.
Örnek: İnsan.

Normalde, insanın bir başı, bir gövdesi, iki kolu ve iki bacağı vardır. Böyle bir şablon tanımlarsak, ancak altı özelliği tanımlayabiliriz.

Kilosu?
Boyu?

Şablonda olmadığı için tanımlanamaz.

Ne yaparız?
Ya şablonu değiştiririz ya da yeni bir şablon tanımlarız.

NYP dilinde ise durum farklıdır. Şablon yerine SINIF tanımlanır. İnsan sınıfı, yeni bir sınıf tanımlamaya gerek kalmadan TÜRETİLEBİLİR. Mevcut özellikleri aynen kalmak şartıyla yeni özellikler eklenebilir.

Odun sınıfı da örnek olabilir. Odunun temel özellikleri aynı kalmak şartıyla masa, sandalye sınıfları TÜRETİLEBİLİR.

Mantık burada devreye girer. Odun sınıfında sandalyeyi veya masayı ilgilendiren BACAK tanımlanması MANTIKSIZ olur.

NYP'nın NTP'ya karşı en büyük avantajı budur. TÜRETME yapılarak daha az kod yazma sağlanır.
 
Üst