Nesne Yönelimli Programlamanın Faydaları
- Nesne oluşturma bir sınıf içerisinde toplanır ve tüm projelerde kullanılabilirliğe olanak sağlar.
- Sınıfların 1 kez oluşturulması sayesinde uzun kodları tekrardan yazmak yerine kısa kodlamalar ile çalıştırılabilir.
- Uzun kodların tekrar yazılmasının engellenmesi sayesinde geliştirme süreci kısalır.
- Nesneler birbirinden bağımsız olduğundan bilgi gizliliği konusunda avantaj sağlar.
- Sınıflar sayesinde tüm projelerde değişiklik yapmak yerine tek bir sınıfta değişiklik yapılıp tüm projelerde çalışması sağlanır. Bu zaman kaybını büyük ölçüde azaltır.
Sınıf Nedir?
Değişkenleri ve methodları bir arada saklayan sistemdir.
Değişkenler kullanacağımız verileri örneğin ad, soyad, yaş gibi verileri saklar. Metotlar bu verilerin toplanması gibi görevleri sağlayan bir sistemdir.
Nesne Nedir?
Verileri saklayan ve bu veriler üzerinde işlem yapan metodları saklayan bileşenlerdir.
Nesne — Sınıf İlişkisi
Doğadaki birçok şeyden sınıf — nesne ilişkisini içeren başka örneklerde bulabilirsiniz. Yani aslında doğada ki her şeyin bir nesne ve bu her bir nesnenin de kendine ait bir sınıfı olduğunu söyleyebiliriz. Yani aslında sınıf, soyut bir veri tipidir. Nesne(object) ise onun somutlaşan bir varlığıdır. Sınıflarda, nesnelerde olması gereken özellikler, yani durum ve davranışlar bulundurulur. Bu sınıftan bir instance (örnek) oluşturduğumuzda ise buna nesne denir. Dolayısıyla bir sınıftan istediğimiz kadar nesne üretebiliriz.
Nesne Yönelimli Programlamanın Özellikleri Nelerdir?
Sistemimizin birçok özelliği vardır. Bunları 4 temel özellikte inceleyebiliriz.
- Soyutlama (Abstraction)
- Kapsülleme (Encapsulation)
- Miras Alma (Inheritance)
- Çok Biçimlilik (Polymorphism)
Soyutlama (Abstraction)
Bir sınıfın özelliklerinin ve davranışlarının tanımlanmasına denir. Örneğin: Bir kişinin adı, soyadı, yaşı, boyu, kilosu, saç rengi gibi özellikleridir. Kişinin yetenekleri davranışları içerisinde yer alır ve metotlar ile saklanır.
Kapsülleme (Encapsulation)
Davranış ve özellikler sınıfta soyutlanır ve saklanır. Kapsülleme ile hangi özellik ve davranışın dışarıdan kullanılacağını belirleyebiliriz. Örneğin: Kişinin bizi ilgilendirmeyen kısımlarını private ederek yani saklayarak gizleyebiliriz. Bu olaya kapsülleme adı verilir.
- Kapsülleme Public, Private ve Protected olarak 3 kısımda incelenir.
- Public: Herkesin kullanabildiği özellik ve davranışlara verilen isimdir.
- Private: Sadece kendi sınıfında kullanılan özellik ve davranışlara verilen isimdir.
- Protected: Sınıf ve Miras Alınan alt sınıflarda kullanılmaya açık olanlara verilen isimdir.
Miras Alma
Alt ve üst sınıfın ortak özelliklerinden alabilme sistemine Miras Alma denir. Örneğin; Bir nesneni diğer bir nesne ile ortak özelliklerindeki verileri alabilir.
Çok Biçimlilik
Alt Sınıf ve Üst Sınıfın özelliklerinden farklı şekilde davranışlar göstermesine Çok Biçimlilik denir. Örneğin; Bir nesnenin diğer bir nesneyle ortak özellikleri olmasına rağmen farklı özelliklerininde tanımlanabilmesine denir.
Nesne Yönelimli Programlama Kullanan Diller
- Phyton
- C++
- Objective-C
- Delphi
- Smalltalk
- Java
- Swift
- C#
- Perl
- Ruby
- PHP
OOP yukarıdaki tüm ögelere sahiptir ancak ADA, JavaScript, Visual Basic gibi dillerden yoksundur.
Sonuç Olarak
Nesneye yönelik programlama günümüzde mutlaka bilinmesi gereken teknolojilerden birisidir. Eğer yazılım geliştirme üzerine bir kariyer düşünüyorsanız mutlaka bu tekniği kullanan diller hakkında bilgi sahibi olmanız gerekmektedir