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

حقول Class العامة والخاصة

جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy. الدرس 18 من 56.

في فئات جافا سكريبت، يمكننا تعريف نوعين من حقول الفئات: public و private.

الحقول العامة يمكن الوصول إليها من خارج الفئة ويمكن استخدامها من قبل أي شخص.

قم بإنشاء فئة (class) تحتوي على حقول عامة (public fields):

class Student {
  name = '';
  grade = 0;
  
  constructor(name, grade) {
    this.name = name;
    this.grade = grade;
  }
}

أنشئ نسخة (instance) من الطالب:

const student = new Student('Alice', 95);

الوصول إلى الحقول العامة من خارج الفئة:

console.log(student.name); // الناتج: "Alice"
student.grade = 98;
console.log(student.grade); // الناتج: 98

يُشار إلى الحقول الخاصة بالرمز # ولا يمكن الوصول إليها إلا من داخل الفئة (class):

class Student {
  name = '';
  #grade = 0;
  
  constructor(name, grade) {
    this.name = name;
    this.#grade = grade;
  }
  
  getGrade() {
    return this.#grade;
  }
  
  updateGrade(newGrade) {
    this.#grade = newGrade;
  }
}

استخدام الحقول الخاصة:

const student = new Student('Bob', 87);
console.log(student.name); // المخرجات: "Bob"

// الوصول إلى الحقل الخاص باستخدام طريقة (method)
console.log(student.getGrade()); // المخرجات: 87

// تحديث الحقل الخاص باستخدام طريقة (method)
student.updateGrade(92);
console.log(student.getGrade()); // المخرجات: 92

// سيؤدي هذا إلى حدوث خطأ:
// console.log(student.#grade); // SyntaxError
challenge icon

التحدي

  1. أضف حقلين إلى الفئة المسماة UserAccount:
    1. حقل عام username
    2. حقل خاص #password
  2. أضف constructor يأخذ المعاملين username و password

جرّب بنفسك

import { UserAccount } from './userAccount.js';

// كود اختبار - لا تقم بالتعديل
const user = new UserAccount("alice", "secret123");
console.log(user.username);          // يجب أن يخرج "alice"

quiz iconاختبر نفسك

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

جميع دروس Object Oriented Programming

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