noisiv 1
noisiv
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
onur akbaş 1
onur akbaş
IronTalonX 1
IronTalonX
D 1
delimuratt
berzahx 1
berzahx
PrimeAC 1
PrimeAC
DEVLOPER 1
DEVLOPER
ShadowFon 1
ShadowFon
mavzermete 1
mavzermete
Hikaye Ekle

Altın Konu Nesneye Yönelik Programlama (OOP) Nedir? Eksiksiz Bir Kılavuz

  • Konuyu başlatan Konuyu başlatan KERİM ERBAY
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 2
  • Görüntüleme Görüntüleme 397

KERİM ERBAY

Ne Mutlu Türküm Diyene!
TM Üye
Katılım
29 Mar 2009
Konular
2,176
Mesajlar
9,577
Çözüm
49
Online süresi
1y 4mo
Reaksiyon Skoru
5,109
Altın Konu
497
Başarım Puanı
449
MmoLira
137,024
DevLira
27
Ticaret - 0%
0   0   0

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

1702030520604.png


Teknoloji ilerledikçe, birçok şirket bilgisayar programlama bilgisine sahip çalışanlara yüksek talep görmeye devam ediyor. Birçok programlama dili arasında ortak bir sınıflandırma, nesne yönelimli programlamadır (OOP). Bir geliştirici veya programcı olarak OOP'yi anlamak, çeşitli dilleri kullanarak yazılım programları oluşturmanıza ve sürdürmenize yardımcı olabilir.

Bu yazıda nesne yönelimli programlamayı, yapısını ve temel ilkelerini tartışıyor ve bu programlama stilinin faydalarını anlatıyoruz.

Nesneye yönelik programlama nedir?​

Nesne yönelimli programlama, bir grup veri niteliğini işlevler veya yöntemlerle nesne olarak bilinen bir birimde düzenleyen bir programlama paradigması veya sınıflandırmadır. Tipik olarak, OOP dilleri sınıf tabanlıdır; yani bir sınıf, sınıfın örnekleri olan nesneleri oluşturmak için bir plan olarak veri niteliklerini ve işlevlerini tanımlar. Bir sınıf birbiriyle karmaşık yollarla etkileşime giren birden fazla bağımsız nesneyi temsil edebilir. Popüler sınıf tabanlı programlama dilleri arasında Java, Python ve C++ bulunur.

Örneğin, bir sınıf bir kişiyi temsil ediyorsa, kişinin yaşı, adı ve boyu gibi çeşitli verileri temsil edecek nitelikler içerebilir. Sınıf tanımı ayrıca kişinin adının ekrana yazdırılması gibi işlevler de içerebilir. Her aile üyesinin sınıfındaki kişi nesnelerini temsil ederek bir aile oluşturabilirsiniz. Her kişi benzersiz olduğundan, her kişi nesnesi farklı veri nitelikleri içerir.

Nesne yönelimli programlamanın yapısı​

Nesneye yönelik programlama, OOP'nin yapı taşları olarak bilinen çeşitli yapıları içerir. Bu yapılar şunları içerir:

  • Sınıf: Sınıf, nesneleri oluşturmak için bir çerçeve sağlayan bir veri türüdür. Ek kod yazmadan birden fazla nesne oluşturmak için bir sınıf tanımlayabilirsiniz.
  • Nesne: OOP'ta bir nesne, bir sınıfın örneğini veya oluşturulmasını temsil eder. Nesneler, kodu uygulamak için özellikler ve davranışlar gibi belirli verileri tanımlar.
  • Yöntem: Yöntem, bir görevi veya eylemi gerçekleştiren bir işlevdir. Örneğin, bir yöntem bir nesnenin verileri hakkında bilgi döndürebilir.
  • Nitelik: Bu yapı, bir nesne hakkındaki bilgileri saklar ve durumunu tanımlar. Bir niteliği sınıfın bir parçası olarak tanımlayabilirsiniz.

    Nesne yönelimli programlamanın 4 ilkesi​

    Nesneye yönelik programlamanın dört temel kavramı vardır: kapsülleme, soyutlama, kalıtım ve polimorfizm. Birlikte nasıl çalıştıklarını bilmek, bir OOP bilgisayar programının temel işlevlerini anlamanıza yardımcı olabilir. Her bir kavramın açıklamasını gözden geçirin ve bunları anlamanıza yardımcı olacak örnekleri inceleyin:

    1702030621586.png

    1. Kapsülleme​

    Kapsülleme, verileri bir nesnenin içine yerleştirerek kapsüllemek anlamına gelir. OOP'ta kapsülleme, verileri kodun geri kalanından korumak için verilerin etrafında bir bariyer oluşturur. Verileri ve işlevlerini bir sınıfa bağlayarak kapsülleme gerçekleştirebilirsiniz. Bu eylem, bir sınıfın özel ayrıntılarını gizler ve yalnızca onunla arayüz oluşturmak için gerekli olan işlevselliği ortaya çıkarır. Bir sınıf, özel verilerine doğrudan erişime izin vermediğinde, iyi bir şekilde kapsüllenmiştir.


    Örnek​

    Bir kişiyi temsil edecek sınıf oluştururken kişinin Sosyal Güvenlik Numarası gibi özel verileri tanımlayabilirsiniz. Bu verileri sınıfta özel bir değişken olarak kapsülleyebilirsiniz; bu, dış kodun ona erişemeyeceği anlamına gelir. Bir banka işlemini gerçekleştirmek için kişi sınıfına bir yöntem yazarsanız işlev, gerektiğinde veri değişkenine erişebilir. Bu örnekte kişinin özel verileri sınıf içinde iyi bir şekilde kapsüllenmiştir.

    2. Soyutlama​

    Soyutlama, nesnelere erişmek için karmaşık uygulama kodu yerine basitleştirilmiş sınıfların kullanılmasını ifade eder. Çoğu zaman, bir sınıfın arayüzünü uygulamasından ayırabildiğiniz zaman, bir program tasarlamak daha kolaydır. OOP'ta bir sınıfın uygulama ayrıntılarını soyutlayabilir ve sınıf üyesi işlevleri aracılığıyla temiz, kullanımı kolay bir arayüz sunabilirsiniz. Soyutlama, kodda yapılan değişikliklerin etkisinin yalıtılmasına yardımcı olur; böylece bir hata meydana gelirse, değişiklik yalnızca sınıfın uygulama ayrıntılarını etkiler, dış kodu etkilemez.

    örnek 1​

    Stereo sistemi, içinde karmaşık bir mantık panosu bulunan bir nesne olarak düşünün. Stereo sistemin dışında nesneyle etkileşime izin verecek düğmeler bulunur. Bir düğmeye bastığınızda, siz panonun içinde ne olduğunu göremeseniz bile mantık panosu sistemi açacak bir işlevi tamamlar. Bu örnek, nesne yönelimli programlamada yaygın olarak uygulayabileceğiniz soyutlama kavramını temsil etmektedir.


    Örnek 2​

    OOP'ta insan vücudunu temsil edecek bir sınıf tanımlayabilirsiniz. Yürümek veya yemek yemek gibi bazı işlevleri genel arayüzün parçası olarak tanımlayabilirsiniz. Soyutlamayı kullanarak, bir kişinin yürümesine veya yemek yemesine olanak tanıyan bedensel işlevleri açıklamak için kod yazmaya gerek yoktur. Bunun yerine, bu bilgiyi temsil etmek için son kullanıcıdan soyutlanmış basit işlevler oluşturabilirsiniz.

    3. Miras​

    Çoğu nesne yönelimli dil kalıtımı destekler; bu, yeni bir sınıfın otomatik olarak üst sınıfıyla aynı özellikleri ve işlevleri barındırdığı anlamına gelir. Kalıtım, bir sınıfın bir veya daha fazla ebeveyn veya alt sınıfa sahip olabileceği, sınıfları hiyerarşiler halinde düzenlemenize olanak tanır. Bir sınıfın bir ebeveyn sınıfı varsa, bu, sınıfın ebeveynin özelliklerini miras aldığı anlamına gelir. Alt sınıf ayrıca ebeveyn sınıfının davranışını değiştirebilir veya genişletebilir. Kalıtım, bir alt sınıfın işlevlerini yeniden tanımlamadan kodu yeniden kullanmanıza olanak tanır.

    Örnek​

    Örneğin hayvanlar aleminde bir böcek, bir böcek sınıfına ait olabilir. Bu sınıftaki tüm böcekler, altı bacaklı ve dış iskeletli olmak gibi benzer özelliklere sahiptir. Çekirge ve karınca gibi farklı böcek türleri için alt sınıflar oluşturabilirsiniz. Bu çocuk sınıfları böcek sınıfının özelliklerini miras alır, yani aynı özellikleri paylaşırlar.

    4. Polimorfizm​

    Polimorfizm, paylaşılan davranışlara sahip nesneler yaratmayı ifade eder. OOP'ta polimorfizm, sınıfların hiyerarşik olarak tekdüze bir şekilde ele alınmasına izin verir. Hiyerarşinin kökündeki nesneler için kod yazdığınızda, hiyerarşi içindeki bir alt sınıf tarafından oluşturulan tüm nesneler aynı işlevlere sahip olur. Nesnenin türüne bağlı olarak farklı davranışlar sergileyebilir.

    1702030610056.png

    Örnek​

    Kedi ve köpek olmak üzere iki çocuk sınıfına sahip, hayvan adında bir sınıfınız varsa, ses çıkarmak için bir sınıf işlevi oluşturabilirsiniz. Polimorfizmi kullanarak kedi ve köpek alt sınıflarından miras alınan bu işlevi geçersiz kılabilirsiniz. Bunun yerine, bu işlevi kedi ve köpek için sırasıyla "miyav" ve "havlama" yapabilirsiniz. Arayüzden geçen hayvan nesnesinin türüne bağlı olarak ya "miyav" ya da "havlama" sesi çıkarır.

    Nesne yönelimli programlamanın faydaları​

    Nesneye yönelik programlama birçok dilde popüler bir programlama stilidir. OOP, bir programdaki nesneleri temsil eden ve kapsülleyen sınıf kümelerini tanımlayarak, sınıfları modüller halinde düzenleyebilir ve yazılım programlarının yapısını geliştirebilir. Yazılım geliştiricilerin karmaşık programlar oluştururken OOP'yi kullanması yaygındır çünkü sınıfları ve onların ilişkilerini tanımlamalarına olanak tanır. OOP'nin diğer faydaları şunlardır:
    • Yeniden kullanılabilir kod: OOP'un kalıtım ilkesi, kodu tekrar tekrar yazmanıza gerek kalmadan yeniden kullanmanıza olanak tanır. Bu özellik, kod oluştururken hataların azaltılmasına yardımcı olabilir.
    • Artan üretkenlik: Sınıflardan nesneler oluşturarak yeni yazılım geliştirirken zamandan tasarruf edebilirsiniz. Üretkenliğinizi artırmak için kitaplıkları ve yeniden kullanılabilir kodları da kullanabilirsiniz.
    • Gelişmiş güvenlik: Hassas bilgileri gizlerken sınırlı verileri görüntülemek için kapsülleme ve soyutlamayı kullanabilirsiniz. Bu özellikler karmaşık kod geliştirirken gelişmiş güvenlik sağlayabilir.
 
Paylaşım için teşekkürler.
 
Paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst