Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Object Oriented Programming - 1

Object Oriented Programming - 1

Avatar for yunus emre keskin

yunus emre keskin

February 12, 2018

More Decks by yunus emre keskin

Other Decks in Programming

Transcript

  1. Modül 1 - Nesne Yönelimli Programlamaya Giriş Modül 2 -

    C# Temel Konular – Sınıf Üyeleri Modül 3 - C# Temel Konular – Diğer Tipler Modül 4 - Nesne Yönelimli Programlama Prensipleri C# ile Nesne Yönelimli Programlama Eğitimi
  2. Modül 1 - Nesne Yönelimli Programlamaya Giriş  Nesne Yönelimli

    Programlama  Common Type System – CTS  Reference Type , Value Type  .NET Assembly , Namespace  Class Oluşturma Süreci  Class ve Object Kavramları 1.Gün Yol Haritası
  3. Nesne Yönelimli Programlama *Object Oriented Programming ▪ Problemi gerçek dünyadaki

    gibi modellemek, parçalara ayırarak yazılıma aktarmaktır, ▪ Tüm dünya nesne ve nesneler arası ilişkilerden ibarettir, ▪ Uygulama inşa etme ve tasarlama yaklaşımı ▪ Bir problem çözme yöntemidir ▪ Bir teknoloji değildir, program geliştirme yaklaşımıdır ▪ İteratif bir süreçtir
  4. Nesne Yönelimli Programlama *OOP, NYP  Okunabilir, Anlaşılabilir  Tekrar

    kullanılabilirliği yüksek  Genişletilebilir  Hata olasılığı düşük  Bakımı kolay  Takım çalışmasına uyumlu
  5. Common Type System *ortak tip sistemi, F12 ▪ Çoğu modern

    programlama dili tarafından desteklenen veri tipi seti ▪ .NET içerisinde 5 Temel tip vardır ; Class, Struct, Interface, Enumaration, Delegates ▪ Type  Type Members ▪ Önceden Tanımlı tipler, Kullanıcı Tanımlı tipler
  6. Reference Type & Value Type *referans tipi, değer tipi ▪

    .NET içerisindeki tipler referans veya değer tipidirler ▪ Value tiplere direkt verinin kendisini içerir ama referans tipleri verinin referansını içerir. ▪ Reference Type  System.Object  HEAP ▪ Value Type  System.ValueType  System.Object  STACK
  7. Reference Type & Value Type *referans tipi, değer tipi ▪

    Value Type null değer tutmaz, Reference Type null değer tutar ▪ Reference Type ▪ System.Object, String, Class, interfaces, delegates, arrays ▪ Value Type ▪ Primitive Types  int,char,float,bool ▪ Struct  DateTime ▪ Enumerations
  8. .NET Assembly *bütünleşik kod, b-kod ▪ Derlenmiş .NET dll veya

    exe dosyasıdır ▪ Örneğin ; System.dll, System.Data.dll, Sample.exe ▪ Object browser ile .NET dll lerine göz atın
  9. Namespace *isim uzayı ▪ Dosya sistemindeki klasör yapısı gibi kodların

    hiyerarşisi için isim uzayları altında gruplanırlar ▪ Aynı amaç ve işleve sahip tip öğelerinin (sınıf, interface vb.) oluşturduğu grup ▪ İç içe isim uzayı tanımlanabilir ▪ Namespace , Using ▪ Namespace aliasing, Class aliasing, ▪ :: operatörü, global:: , External aliasing ▪ Object Browser ile sistemdeki isim uzaylarını görelim.
  10. Class *sınıf ▪ Bir nesnenin şeklini tanımlayan bir şablondur ▪

    Nesne ve referansını oluşturmamızı sağlayan yapılar ▪ Nesneleri oluşturmak için temel özellikleri içerir ▪ Sınıf, nesnenin nasıl işleyeceğini tanımlayan bir klavuzdur ▪ Sınıf soyut bir ifadedir, Nesneler oluşuncaya kadar bellekte yer almazlar ▪ Sınıf tanımı ile yeni bir veri tipi oluştururuz
  11. İş Gereklilikler İş Problemi ni Analiz Etme Parçalara Ayırın Uygun

    Üyeleri Tanımla Class Sınıf yazma süreci Bir sınıfın mantıksal bütünlüğünün olması gerekir, birbiri ile alakasız bilgiler sınıf yapısının bozulmasına sebep olur
  12. Şirket çalışanlarının Detaylı CV bilgilerinin yönetimi ve ölçülmesi Certification Phones

    Address Experience Basic Information Reference File Language IKBoard Entity = Business Object
  13. Object != Class Class ve Object Kavramları *nesne, instance 

    Sınıf soyut bir yapıdır, nesne ise bir varlığın temsil biçimidir.  Class  taslak Object  somut ürün  Sınıf : belirli bir amaç için  Nesne : mantıksal bir varlık, veri  Gerçekleştirebileceği eylemler  methods
  14. Entity Class Object User User Name Surname Email Address Work

    Address Abstraction Admin Editor Manager
  15. Modül Projesi CustomerNET   Customer Management  Entities 

    Temel Bilgiler  Address  Phone  Email  Account
  16. Modül 2 - C# Temel Konular – Sınıf Üyeleri 

    Constructor  Destructor  Finalizer  Field  Local, Global  Property  Constants  const, readonly  Indexer  Parameter  params, ref out  Methods  Extention Methods  Function 1.Gün Yol Haritası
  17. Constructor *yapıcı method, ctor  Nesnenin oluşturulması sırasında ilk çalışan

    methodlardır  Nesneyi ilk kullanıma hazırlar ve varsayılan değerlerini set etmek için kullanılır  Nesneyi, hazırlayan şekillendiren yordamdır.  Sınıf ile yapıcı methodun isminin aynı olması gerekir, geri dönüş değeri olmaz, void de bulundurmaz, public olmalı  Varsayılan yapıcı method  Overloading ile farklı versiyonlarda yapıcı method tanımlanabilir
  18. Destructor *yıkıcı method, finalizer method, ~  Nesnenin bellekten silinmeden

    hemen önce çalışan method,  Her class'ın sadece bir tane destructor içerir, parametre almaz, geriye değer döndürmez,  Overload yapılamaz, miras alınamaz,  Dışarıdan çağırılamaz, GC otomatik invoke eder,  Örneğin ; Veritabanı bağlantısını kapamak,  Struct'lar için tanımlanamaz, sadece class'lar için tanımlanırlar,
  19. Field *alan, değişken, yerel veya global değişkenler  Sınıf veya

    yapı içerisinde tanımlanan her tipden değişkenlerdir  Sınıf içerisinde birden fazla methodun erişim sağlaması gereken verileri saklarlar  Genelde Property ler ile birlikte kullanılır  Public olmaz private olurlar  Sınıf üzerinde alan(statik) veya nesne üzerinde alan tanımlayabiliriz.
  20. Property *özellik  Alanları doğrudan kullanmak yerine property lerle yönetiriz,

     Property ler yerel veya genel alanları yöneten, yönlendiren yordamlardır,  Programcı ve değişken arasındaki yordama property denir,  Get; Set;  Örneğin ; Veri üzerinde Validasyon, kontroller,  Sınıf içerisindeki değişkenlere değer set veya get edilirken bazı özel işlemleri yapmamızı sağlayan methodlardır
  21. Constants *sabitler, const, readonly  Programın ömrü içerisinde değeri değişmeyen

    değerler sabittir  Kullanıcı tanımlı türler sabit olmazlar,  Sabit ifadeler statik olduklarından tekrar statik olarak işaretlenemezler  Sabitler tanımlandıklarında ilk değer atanmak zorunludur  Readonly sabitler sadece yapıcı method da değiştirilebilir  Readonly sabitler kullanıcı tanımlı tipler olabilirler  Aynı tipteki sabitler çoklu tanımlanabilir  Örneğin ; Pi sayısı
  22. Indexer *indeksleyiciler, numaratörler, []  Özel tanımlı bir property dir

    ve sadece sınıf içerisinde tanımlanabilir  Tanımlandığı class a indexlenebilir özelliği kazandırır  Bir nesnenin dizi gibi indeklenmesini sağlar  Class ı diziymiş gibi işlem yapabilmek için indeksleyicileri kullanırız  Örneğin ; DataRow, DataColumn, DataTable gibi sınıflar  Sınıf array miş gibi değer okuma ve değer atama işlemleri yaparız
  23. Method *yordam  Belirli bir görevi yerine getirmek için yazılan

    kod parçacıklarıdır,işlem parçacıkları  Parametreli veya prametresiz olabilirler,  Kod sonucu değer dönebilir veya dönmeyebilir,  Void  Return değer  return;  Return sonrası yazılan kodlar erişilemeyen kodlar,  Method Çeşitleri;  Statik method  Extention method  Fonksiyonlar
  24. Function *fonksiyon  Methodların farklı bir türüdür,  Methodlardan farklı

    olarak geriye değer veya değerler döndüren methodlara denir  Genelde method ve fonksiyon aynı şey olarak bilinir
  25. Parameter *parametre  Methodların işlenmek üzere dışarıdan aldıkları değişkenlerdir 

    Parametreler isimleri ifade eder  Ref out parametreler  Params
  26. Extention Method *genişletme methodları  .NET içerisinde bulunan sınıflara yeni

    methodlar eklememizi sağlar,  Statik sınıf içerisine statik method tanımlanır,  .NET içerisinde ve bizim tanımladığımız her tip için extention method yazabiliriz,  Unutmamak gerekir ki Object tipine tanımladığınız bir extension metod, sadece String, Integer ve List’ler için kısıtlı kalmayıp .Net Framework içerisindeki her tip için geçerli olacaktır,  Örneğin; StringExtentions