Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الحقول (Attributes)

جزء من قسم البرمجة كائنية التوجه في رحلة Java على Coddy. الدرس 6 من 87.

الحقول (السمات) هي متغيرات تخزّن البيانات داخل فئة. عادةً ما تكون private ويتم الوصول إليها من خلال أساليب getter وsetter.

التصريح بالحقول

public class Person {
    private String name;
    private int age;
}

إضافة getter وsetter

public class Person {
    private String name;
    private int age;
    
    public String getName() {
        return this.name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public int getAge() {
        return this.age;
    }
    
    public void setAge(int age) {
        if (age >= 0) {
            this.age = age;
        }
    }
}

استخدام الفئة

Person person = new Person();
person.setName("Alice");
person.setAge(25);
System.out.println(person.getName());  // Alice

يُسمّى جعل الحقول private بالتغليف. وهو يحمي البيانات من خلال التحكم في الوصول إليها عبر الأساليب، مما يتيح لك إضافة التحقق في دوال التعيين.

challenge icon

التحدي

متوسط

أنشئ BankAccount class مع حقول private وطرق getter:

  • الحقول private: accountName (String) وbalance (double)
  • constructor لتعيين كلا الحقلين
  • طرق getter لكل حقل
  • طريقة deposit() لإضافة المال
  • طريقة withdraw() التي returns "Success" أو "Insufficient funds"

جرّب بنفسك

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        double initial = Double.parseDouble(scanner.nextLine());
        double deposit = Double.parseDouble(scanner.nextLine());
        
        BankAccount account = new BankAccount(name, initial);
        
        System.out.println("Account: " + account.getAccountName());
        System.out.println("Balance: " + account.getBalance());
        
        account.deposit(deposit);
        System.out.println("After deposit: " + account.getBalance());
        
        String result = account.withdraw(2000);
        System.out.println("Withdraw 2000: " + result);
        System.out.println("Final Balance: " + account.getBalance());
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس البرمجة كائنية التوجه

تدرّب بنفسك: مترجم Java عبر الإنترنت