BTAcademyOOPBootCamp1

Bazı notlarım

19.09.2022

  • Yazılımın arkasındaki felsefeyi anlamak önemli.

  • Ahtapot gibi olabiliyoruz,daldan dala atlıyoruz.

  • Başlangıç önemli değil,hedef önemli.

  • git init

    git branch -M main

    git remote add orign link

  • En önemli şeylerden biri Obje'yi anlamak.

  • OOP'nin kullanılması yazılımcı içindir. Kullanıcı için değil.

  • Reusabitlity -> Mesela kalemi tekrar tekrar kullanabiliyorum

  • Extensibility -> Genişletilebilirlik

  • Maintability -> Bakımı yapılabilir

  • Scability -> Ölçeklenebilir

  • Türkçe'de obje nedir? şey'dir. obje = şey = varlık

  • Felsefe de ise objenin üzerinde duranlar ise : Sokrates ve Descartes'tir.

  • idea evreni nedir araştırma yap.

  • Class,nesnenin nasıl olacağına dair tanımıdır.

  • Descartesin benlik kavramını çalış. Buradaki benzetimimiz ben adımdan dolayı string miyim,evliliğimden dolayı boolean mıyım, ben yaşımdan dolayı int miyim? Ben hepsiyim. Ideal bizim classımızdır.

  • class -> kedi nedir ? (bir tanım)

  • nesne -> bu kedidir (onun varlık hali)

  • instance olmak : nesne üretmek aynıdır ama

  • primitive : ilkel

  • stack'da sadece adres bilgisi tutuluyor

  • pointer -> beynimizdeki sinirler ile sayı tutma özelliği

ENCAPSULATION

  • Data Encapsulation ve Type Encapsulation

  • Mesela çamaşır makinesinin içindeki silindir kaç defa döndüğü bizi ilgilendirmiyor. Uzaktan kumandanın da nasıl çalıştığını bilmeden de kullanabiliyoruz.

  • Ürün fiyatı eksi olamaz.

CONSTRUCTOR

  • Çamaşır makinesinin varsayılan değeri hangi renktir.

  • İyi yazılımcı diğer yazılımcıyı düşünen yazılımcıdır.

  • Overloading aynı isimle farklı özellik kullanımı.

  • Eğer bir şeyde zorunlu bir şey varsa boş constructor'a gerek yok.Yani paramaetresiz constructor'ı kaldırıyoruz.

  • Constructor'ı cpnstructor'da çağırma işlemi C# da var.

  • Her constructorın parametreleri farklı olmalı , bu overloading in kuralı. Metodun adı ve parametreleri imzası var,aynı parametre olamamalı, 1 den fazla.

  • ....... = new Personel(); ->new den sonra yazılan bir constructor çağırmak demek

  • Benim sorduğum sorunun cevabı -> nesneyi üretmek için, Entity boş constructor,mesela eve koltuk alırken evin boyutuna göre alırız,rastgele değil.

INHERITANCE

  • Miras bırakma.

  • Genelden özele doğru bir akıştır. (Devamını izleyemedim, dedemin yanına gittiğim zamandı,devamı yok :(( )

ABSTRACTION

  • ürün istiyorum örneği.

  • Bir veri kaynağında veri kaynağı okunur.

  • XML'e yazmak, database'e yazmak farklıdır.

  • Her write tüm yerlerde kullanabilir, ama her yerde farklı kullanabilir. Override etmemiz lazım.

  • Miras almaya mecbur olduğu ve abstract metotları ezmeye mecbur.

  • Abstract classtaki her metod abstract olmaz zorunda değil.

  • Tekrar kullanılamaz diye bir obje söz konusu değildir.