Şimdi Ara

Nesne yönelimli programlama nedir

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
3
Cevap
0
Favori
1.122
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri
  • Son Yorum 9 yıl
  • Cevaplayan Üyeler 3
  • Konu Sahibinin Yazdıkları 1
  • Ortalama Mesaj Aralığı 10 saat 41 dakika
  • Son 1 Saatteki Mesajlar 1
  • Konuya En Çok Yazanlar
  • welrocken (1 mesaj) sparkan (1 mesaj) Guest-BF8E9B238 (1 mesaj)
  • @
0 oy
Öne Çıkar
Tüm Forumlar >> Web Tasarım - Programlama >> Yazılım Geliştirme >> Projeler >> Nesne yönelimli programlama nedir
Sayfaya Git:
Sayfa:
1
Giriş
Mesaj
  • Teğmen
    106 Mesaj
    Konu Sahibine Özel
    Bilgisayar Mühendisliği birinci sınıf öğrencisiyim. Dersler çok boş geçiyor. Ben de kendi kendimi hem ileriki sınıflar için hem de kendi merakımdan geliştirmeye başladım. Sorum şu:

    OOP (Object Oriented Programming) = Nesne yönelimli programlama nedir?

    İnternette doğru düzgün bir açıklama bulamadım. Yeni dillerin çoğunun uyumlu olduğu..vs yazıyor ama ne olduğunu tam anlatmıyor bulduğum kaynaklar.



    |
    |
  • Binbaşı
    1520 Mesaj
    Fazla bildiğimden değil ama benim anladığım şu (yani buna doğruymuş gözüyle bakmayın) her şeye nesne olarak davranmak kısaca. Nasıl yani?
    Şöyle ki; nesne denen şey sınıflar, veri türleri. Çoğu örnekte işlenir gerçi ama ben bir daha göstereyim;
    Mesela Cips diye bir sınıfımız olsun (sınıf kavramı karışmasın derseniz nesne diyelim);
    Şimdi bir cipsin ne özellikleri olur?
    -Kütle
    -Baharat
    -Tuz
    -Paket
    Şimdi bunların her birinin bir türü vardır mesela kütle sayıdır, baharat yine farklı bir nesne türüdür onun için yine ayrı bir nesne oluşturulur. Tuz da yine baharat gibidir. Yine paket içinde farklı bir nesne oluşturulur.
    Ne oldu?
    Elimizde bir paket bir tuz bir baharat diye nesne oldu. Ama hepsini bir başlık altında topladık : Cips.
    Mesela farklı özellikleri olan cipsler var?
    Burada kalıtım olayını kullanıyoruz. Mesela bu yeni cipsimizin içinden bir tane taso çıksın.
    Ama yeni cipsimiz eskisiyle aynı özellikleri yine taşıyacak, ama ekstrası da olacak.
    Burada Yeni cipsimize diğer Cips nesnemizi örnek alarak oluşturuyoruz.
    Yine bir nesne oluşturuyoruz bu da Taso.
    Yani yeni cips nesnemiz tuz,baharat,paket ve bir de taso özellikleri içeriyor.
    Bir başka örnek: Kalem
    Kalemin özellikleri nelerdir?
    Kalemin bir dışı, bir de içindeki kurşunu vardır.
    Öyleyse ilk olarak iki tane nesne oluşturmalıyız kalemin dışı ve kurşun.
    Peki kalemin işlevleri nelerdir?
    Yazar.
    Ama nasıl yazar? Kurşun ile. Demekki yazmak kurşunun işlevi.
    Öyleyse yazma işlevini kurşun nesnesine kazandırmalıyız (Bu tür işlevler metodlar ve fonksiyonlar ile yönetilir)
    Peki kurşunumuz yazma işlevine sahip, dışının özelliği var mı? Pek yok. Öyleyse kalemimiz de hazır.
    Ama kaleme de yazma işlevi kazandırmamız lazım bunu yaparken Kalem nesnemize yazma metodu ekliyoruz ve bu metod direk olarak kurşuna yönleniyor, ve kalem yazıyor.
    Peki o zaman kalem kullanılmadan, direk olarak kalemin içindeki uçla yazım yapılır?
    Bunu engellemek için kalemin içine koyduğumuz uç özelliğini private yapıyoruz. Böylece dışarıdan kimse direk olarak kurşuna erişemiyor.
    Kalemi açmak için ise yine kaleme bir işlev ekleyebiliriz ve bu şekilde dolaylı olarak kalem açılır ve kurşun keskinleşir.

    Kafanız karışmamıştır umarım, ben sadece kendi fikirlerimi, anlayabildiklerimi yazdım.
    |
    |




  • Yarbay
    3748 Mesaj
    Dilde yerleşik olan int, float gibi yerel tiplerin dışında kullanıcı tanımlı tip (sınıf) oluşturmaya yarar. Sınıfların öğeleri yerel tipler veya başka sınıflar olabilir.

    Nesne yönelimli programlama zorunluluk değil. Amaç verileri makinadan soyutlayıp insan algısına yakın hale getirmek ve bu sayede geliştirmeyi, bakımı vs. kolaylaştırmak. Mesela basit bir örnek olarak bir nokta verisi alıp üzerinde işlem yapan bir fonksiyon düşünelim... Fonksiyonumuz noktayı belirlemek için koordinat bilgisini alacaktır.

    void isle(int x, int y)
    {
    ...
    }
    Bu işlem kafa karıştırabilir çünkü x ve y nin ne olduğu hemen anlaşılmaz.

    class Point {
    int x;
    int y;
    // ve gerekirse üye fonksiyonlar...
    }

    void isle(Point nokta)
    {
    ...
    }
    Bu daha iyi görünüyor değilmi?

    Birde nesneleri dinamik olarak oluştururken kolaylık sağlar. Mesela yeni bir nokta için (örnek c++);
    int *x = new int;
    int *y = new int;

    yerine
    Point *nokta = new Point;
    |
    |




Sayfaya Git:
Sayfa:
1
Reklamlar
Instagram takipçi satın al
vp satın al;valorant vp satın al;Valorant VP Fiyat
Radyo Dinle
Google Play Kodu, LOL RP, Oyun Satış Sitesi
triple negative breast cancer
Bu sayfanın
Mobil sürümü
Mini Sürümü

BR1
1,641
1.2.165

Reklamlar
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.