Yeni Konular
Anasayfa / Bilgisayar / Nesne Yönelimli Programlama (Tez Niteliğinde)

Nesne Yönelimli Programlama (Tez Niteliğinde)

2016-04-14_112851SINIF NEDİR?

 

Sınıflar soyut bir veri tipidir. Object ise somutlaşan bir cismidir. Motorlu taşıt deyince aklımıza ilk olarak arabalar, motosikletler, kamyon vb. şeyler aklımıza gelir. Bu araçların ortak bir özellikleri vardır. Hepsinin mesela yakıt ile çalışan motorları vardır. Motorlu taşıtlar yerine karada giden motorlu taşıtlar dersek sınıfa giren ögeler sınırlanmış olur. Motorlu taşıtlar karada giden motorlu taşıtların bir üst sınıfı olur. Otobüsler dediğimiz zaman karada giden motorlu taşıtların alt sınıfı olur. Başka bir örnek olarak kitaplar dersek o kitabın adı, yazanı, seri numarası gibi farklı özellikleri vardır.

SINIF TANIMI NASIL YAPILIR?

Class kitaplar

{

 

}

Bu bir sınıf tanımıdır.

 

Class kitaplar{} aynı şekilde buda bir sınıf tanımıdır. İkisinin arasında bir fark yoktur.

Ancak görünürlük ve hata olduğu zaman görmemiz için iç-içe yazmak daha mantıklı olur.

Sınıfın içeriğine ise değişkenler, fonksiyonlar koyabiliriz. Bu öğelere ise sınıf ögeleri denir.

 

Kitaplarla ilgili bilgileri sınıfın içerisine yazabiliriz. Mesela her kitabın bir adı vardır. Bu adı içeriğe yazabiliriz. Eğer sayısal değer kullanmayacaksak String ifadeler kullanılabilir.

 

New operatörü ile nesne yaratma nasıl olur?

 

Nesne yaratmanın temel kuralı şöyledir.

Sınıf_adi nesne_adi = new sınıf_adi();

Örnek vermek gerekirse

Kitaplar kitap_Adi=new kitaplar();

 

This anahtarı

 

C# dilinde ne kullanacaksak sınıf içinde tanımlarız. Bazı dillerde ise global değişken ve fonksiyonlar C# dilinin içinde yoktur. Bunun yerine sınıf ögeleri denilen yani değişken ve metot vardır. Sınıf ögesine global rol oynatmak istersek onu public ile niteleriz. Public sayesinde sınıf ögelerine başka yerden ulaşabiliriz. Yerel değişkenlere ise ait olduğu metot içinden erişebiliriz. Kendi içinden veya başka sınıftan erişim olmuyor. Bazen ise yerel değişken ile sınıf değişkeninin adları aynı olabilir.

 

Kapsülleme (ENCAPSULATİON)

 

Kapsülleme nesne tabanlı programlamada iyi bir güvenlik seçeneğidir. Bir sınıfın içindeki ögelere dışarıdan erişilmemesi için sınıfı tamamen kapatır. Kimseye ulaştırmaz. Bazı durumlarda ise sınıfın ögelerine erişmek istenir. Bu durumda ise public yani her yerden erişim için bu öge kullanılır. Public dışında başka nitelemelerde vardır.

 

 

 

KALITIM(INHERITANCE)

 

Türkçe anlamı olarak miras alma, kalıtım anlamına gelir. Bir nesnenin özelliklerinin başka nesneler tarafından kullanılmasına olanak sağlayan OOP özelliğidir. Yazılan sınıf bir başka sınıf tarafından miras olarak alınabilir. Bu yapıldığı zaman diğer nesnenin tüm özellikleri bu nesneye aktarılmış olur.

 

İnsan – memeli ilişkisinde, insan memeli sınıfı miras alıyor demek uygundur. İnsan sınıfını yazarken memelilerin özelliklerini tekrar yazmayabiliriz. Çünkü buna gerek yoktur.

 

ÇOK BİÇİMLİLİK (POLYMORPHİSM)

 

OOP’ de çok biçimlilik iki şekilde elde edilebilir.

1-)KALITIM

2-)ARAYÜZ (interface)

 

İkisinde de amaç bir nesnenin birden fazla türün davranışlarını göstermeyi sağlamaktır.

Türemiş olan bir sınıfın referansını, o sınıfın türemiş olduğu sınıfın referansına gönderebiliyoruz. Bunun tersi durum mümkün olmaz ama.

Base Class’ın referansını, ondan türeyen sınıfın referansına geçirebiliriz.

 

Örnek vermek gerekirsek hayvan sınıfından sürüngenleri türetebiliriz.

Sürüngenler sınıfının referansını, hayvan sınıfının referansına geçirebiliriz. Çünkü her sürüngen bir hayvandır. Ancak tersinin olması imkânsızdır.

 

METOTLAR

 

Metotlar 3 ayrı erişim kuralına göre tanımlanır.

Bunlar public, protected ve private’dir. Metotların geri dönüş değerleri de mevcuttur.

 

Yapıcı ve yıkıcı metotlar

 

Yapıcı ve yıkıcı metotlar otomatik olarak sistem tarafından çağrılır. Yıkıcı metotlar ise sadece nesnelerin bellekten silinmesi sırasında çağrılır. Böylece işi biten nesne için bellekte ayrılan yer yeniden kullanılabilir. Yıkıcı metotlar hiçbir parametre alamaz ve hiç değer döndürmez.

 

Public: her yerden erişim sağlar.

 

Protected: Erişim kuralı ile tanımlanan metoda bu metodun tanımlanmış olduğu sınıftan örneklenmiş nesnenin içinden ve türetilmiş olan nesnelerden erişilir.

 

Private: Erişim kuralı ile tanımlanmış metoda bu metodun içinden erişim var. Sadece kendi içinden erişim sağlanır.

 

 

 NESNE YÖNELİMLİ PROGRAMLAMA

 

Nesne yönelimli programlama (NYP), (İngilizce: Object Oriented Programming) özetle bir bilgisayar programlama yaklaşımıdır. Günümüzde pek çok çağdaş programlama dili tarafı bu programlamayı desteklemektedir.

1960’lı yılların sonuna doğru ortaya çıkan bu yaklaşım, o dönemin yazılım dünyasında beliren bir bunalımın sonucudur. Yazılımların karmaşıklığı ve boyutları sürekli artıyor, ancak belli bir nitelik düzeyi korumak için gereken bakımın maliyeti zaman ve çaba olarak daha da hızlı artıyordu. NYP’yi bu soruna karşı bir çözüm haline getiren başlıca özelliği, yazılımda birimselliği benimsemesidir. NYP ayrıca, bilgi gizleme, veri soyutlama, çok biçimlilik ve kalıtım gibi yazılımın bakımını ve aynı yazılım üzerinde birden fazla kişinin çalışmasını kolaylaştıran kavramları da yazılım dünyasına kazandırmıştır. Sağladığı bu avantajlardan dolayı, NYP günümüzde geniş çaplı yazılım projelerinde yaygın olarak kullanılmaktadır.

 

 

Kısa bilgiler:

 

Base CLASS: Inheritance konusunda temel alınan sınıftır. Temel sınıf olarak da adlandırılabilir. Aslında her class potansiyel bir Base Class’tır. Aksi belirtilmedikçe türetilebilir ve böylece Base class olurlar.

 

OOP: Kendisinden başka sınıfların türediği sınıf. Bu sınıftan türeyen sınıflar, bu sınıfın tüm nitelik ve yordamlarına da sahiptirler.

 

Hakkında admin

Buna Baktın mı?

Kholat Oyun İncelemesi

Kholat Oyun İncelemesi

KHOLAT OYUN İNCELEMESİ Tamamıyla gerçek bir hikâyeden hareketle oyun severlerle buluşanKholat oyunu, 10 Haziran 2015 …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.