0Pricing
C++ Academy · Ders

this İşaretçisi ve Kapsülleme

this işaretçisini kullanın ve private ile public erişimlerini kullanarak kapsüllemeyi sağlayın

this İşaretçisi ve Kapsülleme, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.

this Nedir?

Statik olmayan bir üye işlevinin içinde this, geçerli nesneye yönelik örtük bir işaretçidir. Belirsizliği gidermek veya referans döndürmek için kullanın.

class Counter {
    int n_ = 0;
public:
    Counter& add(int x) {
        n_ += x;       // implicit this
        return *this;  // chain calls
    }
};

Örtük Erişim

Genellikle this-> yazmanız gerekmez. Üye adları otomatik olarak aranır; this->n_ ile n_ eşdeğerdir.

this-> Ne Zaman Gereklidir

Bir parametre bir üyenin adını gölgelediğinde veya şablon aramasının miras alınan üyeleri bulmak için yardıma ihtiyaç duyduğu durumda this-> kullanın.

class Person {
    std::string name_;
public:
    void setName(const std::string& name) {
        this->name_ = name;  // or name_ = name;
    }
};

Zincirleme İşlemler İçin *this Döndürme

Akıcı arayüzleri desteklemek için *this döndürün.

class StringBuilder {
    std::string s_;
public:
    StringBuilder& append(const std::string& part) {
        s_ += part;
        return *this;
    }
};

StringBuilder sb;
sb.append("Hello, ").append("World!");

Const Yöntemlerinde this

Bir const yönteminin içinde this türü const ClassName* olur. Üyeleri onun üzerinden değiştiremezsiniz.

Kapsülleme: Temel Fikir

Kapsülleme, iç durumu gizlemek ve yalnızca güvenli işlemleri kullanıma sunmak demektir. Verileri private yapın; amaca yönelik public yöntemler sunun.

class Stack {
    std::vector<int> data_;     // hidden
public:
    void push(int v) { data_.push_back(v); }
    int  pop()       { int v = data_.back(); data_.pop_back(); return v; }
    bool empty() const { return data_.empty(); }
};

Neden Kapsülleme Kullanılır?

Kapsülleme şunları yapmanızı sağlar:

  • Çağıranları bozmadan iç gösterimi değiştirmek
  • Değişmezleri tek bir yerde uygulamak
  • Girdileri sınırda doğrulamak
  • Nesne durumunu yerel olarak değerlendirmek

Genel Arayüz = Sözleşme

Genel arayüz, çağıranlara verilen bir sözdür. Onu asgari düzeyde, amaca yönelik ve kararlı tutun. Uygulama ayrıntılarını private yapın.

Getiriciler ve Ayarlayıcılar

Yaygın bir kalıptır ancak aşırı kullanılması kolaydır. Her üyeyi get/set çiftiyle yansıtmayın; bu, kapsüllemeyi boşa çıkarır. Alanları değil, işlemleri kullanıma sunun.

Const Doğruluğu Yeniden

Salt okunur her yöntemi const olarak işaretleyin. Çağıranlar hangi yöntemlerin const örneklerde güvenle çağrılabileceğini bilir ve derleyici bunu zorunlu kılar.

Friend İşlevleri ve Sınıfları

friend anahtar sözcüğü, başka bir işlevin veya sınıfın private üyelere erişmesine izin verir. Bağımlılığı sıkılaştırdığı için ölçülü kullanın.

class Account {
    double balance_;
    friend void transfer(Account& a, Account& b, double amount);
};

Kısa Sınama

Foo sınıfında void f() const olarak bildirilen bir yöntemin içindeki this türü nedir?

Özet

this, statik olmayan yöntemlerin içinde geçerli nesneyi gösterir. Zincirleme işlemler (return *this) ve belirsizliği giderme için kullanın. Durumu private veriler ve küçük, amaca yönelik bir genel arayüzle kapsülleyin.

Sıkça Sorulan Sorular

“this İşaretçisi ve Kapsülleme” dersi ücretsiz mi?

Evet — “this İşaretçisi ve Kapsülleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.

“this İşaretçisi ve Kapsülleme” dersinde ne öğreneceğim?

this işaretçisini kullanın ve private ile public erişimlerini kullanarak kapsüllemeyi sağlayın C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C++ Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“this İşaretçisi ve Kapsülleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. struct ve class: Hangisi Ne Zaman Kullanılmalı
  2. Üye Değişkenler ve Metotlar
  3. Yapıcılar ve Üye Başlatıcı Listeleri
  4. this İşaretçisi ve Kapsülleme
← C++ Academy Sayfasına Dön