Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan nesne tabanlı programlama dersinin bir bölümüdür. Eğitmen, öğrencilere hitap ederek encapsulation (kapsülleme) konusunu anlatmaktadır.
- Video, encapsulation'ın ne olduğunu ve neden kullanıldığını günlük hayattan örneklerle açıklamaktadır. İlk bölümde encapsulation'ın temel mantığı araba motoru, cüzdan, yüzük ve hap gibi örneklerle anlatılırken, ikinci bölümde C# programlama dilinde metotlar ve property yapısı üzerinden nasıl uygulandığı gösterilmektedir. Son bölümde ise dizi kullanımı ile class içindeki memberlara erişim arasındaki farklar ve TypeScript ile C# arasındaki farklar açıklanmaktadır.
- Eğitmen, gelecek derslerde abstraction, inheritance ve polimorfizm gibi konuların adım adım anlatılacağını belirtmekte ve izleyicilerin herhangi bir kaynak olmadan nesne yönelimli programlama konusunda bilgi sahibi olabileceklerini vurgulamaktadır.
- Nesne Tabanlı Programlama ve Encapsulation
- Bu derste nesne tabanlı programlama kavramı ve özellikle encapsulation konusu ele alınacaktır.
- Encapsulation, nesnelerimizdeki değerleri kontrollü bir şekilde dışarıya açan yapısal bir operasyondur.
- Encapsulation, nesneleri başkalarının yanlış kullanımlardan korumak için kontrolsüz değişime kapatmaktır.
- 01:20Encapsulation'ın Önemi
- Nesnelerin fieldlarını kapsüllemek, dışarıdan kullanacak kişinin kuralların dışında yanlış kullanmasını önlemek için gerekli bir işlemdir.
- Nesnelerin değerlerini korumak, fieldların kontrolünü sağlamaktır.
- Günlük hayatta da kapsülleme mantığı kullanılır, örneğin aspirinlerin içindeki gerçek veri yollarını koruyan kapsüller gibi.
- 04:57Object Oriented Programlama ve Günlük Hayat
- Object oriented bakış açısı, hayatın içinde olan bir felsefedir ve günlük hayattaki alışkanlıkları programlamaya aktarır.
- Kapsülleme günlük hayatta hepimizin yapmış olduğu bir şeydir ve bu alışkanlık programlamaya da aktarılmalıdır.
- Object oriented programlama diğer konularda da günlük hayat örnekleriyle anlatılabilir, örneğin polimorfizm ve abstraction gibi.
- 06:07Encapsulation'ın Uygulanması
- Dışarıdan talep edildiğinde field'ın direkt erişilmesi ve değerin doğrudan okunması veya atanması istenmez, kapsülleme gereklidir.
- Programcı olarak veriyi ve belleği mümkün mertebe cimri boyutta kullanmak ve dışarıya erişimi kısmak gerekir.
- Field'ı kapsüllüyorsak, dışarıdan erişimler artık bu kapsül üzerinden olmalıdır ve kapsül, field değerini kontrol ederek dışarı gönderir.
- 09:26Encapsulation'ın Uygulama Yöntemleri
- Encapsulation iki yöntemle uygulanmaktadır: metot ile ve property ile.
- Önce metot ile encapsulation nasıl uygulandığı ele alınacak, ardından property ile uygulama yöntemi incelenecektir.
- 09:47Encapsulation Kavramı ve Eski Yöntem
- Encapsulation (kapsülleme) eski yöntemde metotlar üzerinden uygulanıyordu, C# property özelliği gelene kadar.
- Bir nesnenin içindeki field'ların direkt erişilmesini istemiyorsak, erişim belirleyicisi olarak private kullanılır.
- Private field'lar nesne üzerinden erişilemez, bu nedenle kapsülleme için metotlar kullanılır.
- 12:07Get ve Set Metotları ile Kapsülleme
- Dış dünyaya açmak istediğimiz field için public metotlar oluşturulur, metotun dönüş tipi field'ın tipine eşit olmalıdır.
- Get metodu, field'ın değerini okumak için kullanılır ve this anahtar kelimesi ile nesnenin o anki değerini döndürür.
- Set metodu, field'a değer atamak için kullanılır ve void dönüş tipine sahiptir.
- 14:36Kapsülleme Örneği
- Kapsülleme örneğinde, nesne üzerinden direkt field'a erişilmez, sadece get ve set metotları kullanılarak erişim sağlanır.
- Get metodu çağrıldığında field'ın değerini döndürür, set metodu çağrıldığında field'a değer atanır.
- Bu yöntemle kodun daha kontrolü sağlanabilir ve doğrudan erişim engellenir.
- 15:32Property Kullanımı
- C# programlama dilinde encapsulation artık property üzerinden daha kolay ve okunaklı bir şekilde gerçekleştirilir.
- Full property kullanımı için "prop full" yazıp tab tuşuna basarak otomatik olarak property ve field oluşturulabilir.
- Propertyler genellikle kapsülledikleri fieldların isimlerinin büyük harfle başlayan haliyle temsil edilir.
- 18:39Encapsulation ve Diz Kullanımı
- Diz, anki nesneyi temsil eder ve encapsulation konusuyla bağımsız olarak ele alınmıştır.
- Compiler seviyesinde, metodun içinde değilse direkt class içindeki memberlardan arama yapılır, bu nedenle "a" değişkenine "this" kullanmadan da erişilebilir.
- C# dilinde "this" keyword'ünün kullanımı zorunlu değildir, TypeScript'te ise class içinde memberlere erişmek için "this" kullanmak zorunludur.
- 19:44Gelecek Konular
- Gelecek derslerde abstraction, inheritance ve polimorfizm gibi terimler ele alınacaktır.
- Bu ders serisi izleyen kişinin object oriented programlama konusunda başka bir kaynak ihtiyacı duymayacağı hedeflenmektedir.
- Dersler hassasiyetle hazırlanmıştır ve izleyicilerden de bu hassasiyetle derslere eşlik etmeleri istenmektedir.