SOLID, beş temel tasarım ilkesini temsil eden bir kısaltmadır: Single responsibility, Open-closed, Liskov substitution, Interface segregation, Dependency inversion. Beş ilke de yaygın olarak kullanılır ve geliştiriciler için önemli faydalar sağlar.
Nesne Yönelimli Programlama (Object Oriented Programming), sınıflar ve nesneler kavramına dayanan bir programlama yaklaşımıdır. Bu yaklaşımın amacı, ihtiyaç duyulan programı daha küçük parçalara bölerek, yönetilebilir ve yeniden kullanılabilir hale getirmektir.
Sınıf, nesne yönelimli programlama dillerinde nesnelerin özelliklerini, davranışlarını ve başlangıç durumlarını tanımlamak için kullanılan şablonlara verilen addır. Bir sınıftan türetilmiş bir nesne ise o sınıfın örneği olarak tanımlanır. Sınıflar genelde şahıs, yer ya da bir nesnenin ismini temsil ederler.
Nesne yönelimli olan nesne tabanlı programlama dillerinden ABAP/4, C#, C++ (nesne modeli Simula'ya dayanır), Eiffel, Java, Object Pascal, Objective-C (nesne modeli Simula'ya dayanır), PHP, Python, REALbasic (nesne yönelimli bir BASIC lehçesi), Ruby, Simula, Smalltalk ve Visual Basic . NET'i sayabiliriz.
İlgili 30 soru bulundu
Nesne Yönelikli Programlamanın sağladığı kolaylıklar
Oluşturulan nesneler birbirinden bağımsız olduğu için bilgi gizleme olanağı artar. Örneğin A nesnesi B nesnesinin özelliklerini kullanamaz ve erişemez. Nesne oluşturma, bir sınıf içerisinde gerçekleştirilir ve bu kodlar başka projelerde kullanılabilir.
C ve C++ arasındaki farklar
C programlama dili Nesne Yönelimli Programlama yapmaya imkan vermezken C++ programlama dili Nesne Yönelimli Programlama yapmaya imkan verir.
Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java'da sınıf (class) kavramını doğada cins isimlere benzetebiliriz. Bir cins kendi başına belirli bir nesne değildir; ancak belirli türden nesnelerin ortak özelliklerini belirten soyut bir kavramdır.
Bilgisayar bilimlerinde soyutlama, daha çok nesne yönelimli programlama ile ön plana çıkar. Nesne tanımlanırken verinin kulanılması veya veriye erişilmesi için gerekli detayların azaltılması işlemidir. Soyutlama kabaca veri (İngilizce: data) ve kontrol (İngilizce: control) soyutlaması olarak yapılır.
Inheritance (kalıtım) bir sınıftan başka bir sınıf türetirken aralarında bir alt-üst ilişkisi oluşturmayı ve bu sınıflar üzerinde ortak metotlar ve özellikler kullanılmasını sağlayan bir mekanizmadır.
Nesneye dayalı bir veri tabanı, bir nesne biçiminde sunulan bir veri topluluğudur. Birden çok veri noktası tek bir birim veya nesnede birleştirilir ve çalışanların verileri bulmasını ve kullanmasını kolaylaştırır.
C++ C'in OOP olanı zaten. C ile sistem programlamada OOP cok gerekli olmadığı için kullanılmıyor. OOP yerine struct kullanılıyor. Ancak yine de OOP gerekli ise C++ veya Objective-C kullanılıyor.
Örnek: “Memeli” sınıfından direkt bir nesne oluşturulmaz; ancak alt sınıfları tanımlanarak onlardan nesneler oluşturulur. Soyut sınıfın yöntemlerini, alt-sınıfları tarafından üzerine yazılmak üzere, sadece şablon olarak tanımlayıp içlerini boş bırakabiliriz veya soyut yöntem (“abstract method”) olarak tanımlayabiliriz.
OOP'nin 4 Ana Prensibi: Encapsulation, Inheritence, Abstraction, Polymorphism. İyi bir kod tasarımı için uyulması gereken bazı prensipler vardır. Prensipler zorunlu değildir fakat uyulduğunda hem dünya çapında standart bir kod yazmış oluruz hem de sürdürülebilirliği yüksek bir iş ortaya çıkar.
Encapsulation, kapsülleme anlamına gelir. Encapsulation (Kapsülleme), nesne yönelimli olan programlamada yer alan herhangi bir nesnenin yöntemlerini, değişkenlerini ve özelliklerini diğer nesnelerden saklayarak, bunlara erişimini sınırlandırır. Bunun sonucunda ise yanlış kullanımlardan koruyan farklı bir konsepttir.
Abstraction (Soyutlama) detayları saklama ve sadece gösterilmesi istenen bilgileri kullanıcıya göstermek amacıyla kullanılır. Abstraction(Soyutlama) hem Abstract class(soyutlama sınıfları) ile hem de interfaces (arayüzler) ile yapılır. Abstrat keyword sınıflar ve metotlar için kullanılır.
Nesne Yönelimli Programlama dillerinde kalıtım olgusu, bir sınıfta (class) tanımlanmış değişkenlerin ve/veya metotların (fonksiyon, procedure) yeniden tanımlanmasına gerek olmaksızın yeni bir sınıfa taşınabilmesidir. Bunun için yapılan iş, bir sınıftan bir alt-sınıf (subclass) türetmektir.
Nesne yönelimli programlamada Soyutlama (Abstraction) ilkesi, eğer bir sınıf için nesne üretmek mantıksız geliyorsa o sınıf soyutlanabilir. Alt sınıfların ortak özelliklerini ve işlevlerini taşıyan ancak henüz bir nesnesi olmayan bir üst sınıf oluşturmak istenirse bir soyut (abstract) üst sınıf oluşturulur.
Belirtili nesne ve belirtisiz nesne olmak üzere ikiye ayrılır.
new : Java'da nesne üretmek için "new" anahtar kelimesini kullanırız.
Java'da OOP kavramı veri ve metotları içeren, nesneler kavramına dayalı programlama yöntemi olarak ifade edebiliriz. Java'da OOP yani nesneye yönelik programlamanın temel amacı programların esnekliğini, yeniden kullanılabilirliğini ve sürdürülebilirliğini sağlamaktadır.
Java yazımı (Sözdizimi) Sınıf temelli nesneye yönelik bir dil olan Java, yazım olarak C++ ile benzerlikler arz eder.
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.
Benzer sorularSıkça sorulan sorular
DuyuruReklam alanı
Popüler SorularSıkça sorulan sorular
© 2009-2024 Usta Yemek Tarifleri