Nesneye yönelik programlama (OOP), yazılım tasarımını işlevler ve mantıktan ziyade veriler veya nesneler etrafında organize eden bir bilgisayar programlama modelidir. Bir nesne, benzersiz niteliklere ve davranışa sahip bir veri alanı olarak tanımlanabilir.
Nesne yönelimli programlamanın yapısı nedir?
Nesne yönelimli programlamanın yapısı veya yapı taşları şunları içerir:
Sınıflar, bireysel nesneler, nitelikler ve yöntemler için plan görevi gören kullanıcı tanımlı veri türleridir.
Nesneler, özel olarak tanımlanmış verilerle oluşturulan bir sınıfın örnekleridir. Nesneler, gerçek dünyadaki nesnelere veya soyut bir varlığa karşılık gelebilir. Sınıf başlangıçta tanımlandığında, tanımlanan tek nesne tanımdır.
Yöntemler, bir nesnenin davranışlarını tanımlayan bir sınıf içinde tanımlanan işlevlerdir. Sınıf tanımlarında yer alan her yöntem, bir örnek nesneye başvuru ile başlar. Ek olarak, bir nesnede bulunan alt rutinlere örnek yöntemler denir. Programcılar, yeniden kullanılabilirlik veya işlevselliği bir seferde bir nesne içinde kapsüllenmiş halde tutmak için yöntemler kullanır.
Nitelikler sınıf şablonunda tanımlanır ve bir nesnenin durumunu temsil eder. Nesneler, nitelikler alanında depolanan verilere sahip olacaktır. Sınıf nitelikleri sınıfın kendisine aittir.
OOP'nin temel ilkeleri nelerdir?
Nesne yönelimli programlama aşağıdaki ilkelere dayanmaktadır:
kapsülleme. Bu ilke, tüm önemli bilgilerin bir nesnenin içinde bulunduğunu ve yalnızca belirli bilgilerin açığa çıktığını belirtir. Her nesnenin uygulaması ve durumu, tanımlanmış bir sınıf içinde özel olarak tutulur. Diğer nesnelerin bu sınıfa erişimi veya değişiklik yapma yetkisi yoktur. Yalnızca genel işlevlerin veya yöntemlerin bir listesini çağırabilirler. Veri gizlemenin bu özelliği, daha fazla program güvenliği sağlar ve istenmeyen veri bozulmasını önler.
Soyutlama. Nesneler, yalnızca diğer nesnelerin kullanımıyla ilgili dahili mekanizmaları ortaya çıkararak gereksiz uygulama kodlarını gizler. Türetilmiş sınıfın işlevselliği genişletilmiş olabilir. Bu konsept, geliştiricilerin zaman içinde ek değişiklikler veya eklemeler yapmasına daha kolay yardımcı olabilir.
Miras. Sınıflar, diğer sınıflardan gelen kodları yeniden kullanabilir. Nesneler arasındaki ilişkiler ve alt sınıflar atanabilir, bu da geliştiricilerin benzersiz bir hiyerarşiyi korurken ortak mantığı yeniden kullanmalarını sağlar. OOP'nin bu özelliği, daha kapsamlı bir veri analizini zorlar, geliştirme süresini azaltır ve daha yüksek düzeyde doğruluk sağlar.
polimorfizm. Nesneler, davranışları paylaşmak üzere tasarlanmıştır ve birden fazla biçim alabilirler. Program, bir üst sınıftan o nesnenin her yürütülmesi için hangi anlamın veya kullanımın gerekli olduğunu belirleyerek, kodu çoğaltma ihtiyacını azaltacaktır. Daha sonra, üst sınıfın işlevselliğini genişleten bir alt sınıf oluşturulur. Polimorfizm, farklı nesne türlerinin aynı arayüzden geçmesine izin verir.
OOP dili, programı kolayca çözülebilecek bit boyutlu problemlere ayırmaya izin verir (her seferinde bir nesne). Yeni teknoloji, daha fazla programcı üretkenliği, daha iyi yazılım kalitesi ve daha az bakım maliyeti vaat ediyor. OOP sistemleri, küçük sistemlerden büyük sistemlere kolayca yükseltilebilir.