Menu
CoddyTech

Öznitelikler (Veri Üyeleri)

Coddy'nin C++ Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 9 / 104.

Veri üyeleri (öznitelikler) bir nesnenin durumunu saklar. Genellikle private olarak tanımlanır ve herkese açık getter/setter yöntemleri aracılığıyla erişilir. Buna kapsülleme denir.

Özel veri üyeleri

class BankAccount {
private:
    std::string accountName;
    int balance;
};

public erişim belirteçli getter ve setter yöntemleri

class BankAccount {
private:
    std::string accountName;
    int balance;

public:
    void setBalance(int balance) {
        this->balance = balance;
    }
    
    int getBalance() {
        return this->balance;
    }
};

Doğrulama içeren setter'lar

void BankAccount::setBalance(int balance) {
    if (balance >= 0) {
        this->balance = balance;
    }
}

Erişim belirleyicileri

class MyClass {
private:    // Yalnızca sınıfın içinden erişilebilir
    int secret;

public:     // Her yerden erişilebilir
    int getSecret() { return secret; }

protected:  // Sınıfın içinden ve alt sınıflardan erişilebilir
    int shared;
};

Veri üyelerini private yapmak, onları dış koddaki erişimden gizler. Getter'lar değerlerini döndürür, setter'lar ise isteğe bağlı doğrulamayla onları değiştirir. Bu, verilerinizi korur ve bunlara nasıl erişileceğini denetler.

challenge icon

Görev

Orta

Özel veri üyeleri ve herkese açık erişim yöntemleri içeren bir BankAccount sınıfı oluştur:

  • Özel üyeler: accountName (string), balance (int)
  • Setter yöntemleri: setAccountName, setBalance
  • Getter yöntemleri: getAccountName, getBalance
  • deposit(int amount): amount > 0 ise bakiyeye ekler
  • withdraw(int amount): mümkünse "Success", aksi hâlde "Insufficient funds" döndürür

Kendin dene

#include <iostream>
#include "BankAccount.h"

int main() {
    std::string name;
    int initial, depositAmt;
    std::getline(std::cin, name);
    std::cin >> initial >> depositAmt;
    
    BankAccount account;
    account.setAccountName(name);
    account.setBalance(initial);
    
    std::cout << "Account: " << account.getAccountName() << std::endl;
    std::cout << "Balance: " << account.getBalance() << std::endl;
    
    account.deposit(depositAmt);
    std::cout << "After deposit: " << account.getBalance() << std::endl;
    
    std::string result = account.withdraw(2000);
    std::cout << "Withdraw 2000: " << result << std::endl;
    std::cout << "Final Balance: " << account.getBalance() << std::endl;
    return 0;
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online C++ derleyicisi