By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: الدرس 43: شرح مفهوم الـ Static في لغة دارت (Static in Dart)
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

18
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Dart > الدرس 43: شرح مفهوم الـ Static في لغة دارت (Static in Dart)
Dart

الدرس 43: شرح مفهوم الـ Static في لغة دارت (Static in Dart)

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 6 دقيقة للقراءة 3390 مشاهدات 5 1
شارك
شرح مفهوم الـ Static في لغة دارت (Static in Dart)
شرح مفهوم الـ Static في لغة دارت (Static in Dart)
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

في عالم برمجة لغة دارت (Dart)، يعد مفهوم الـ Static من الأسس الأساسية التي تساهم في بناء تطبيقات متينة ومنظمة. في هذا المقال، سنتعرف على عالم الثوابت والدوال الثابتة في لغة دارت وكيف يمكننا الاستفادة منها بشكل أفضل. سنستكشف كيفية تعريف المتغيرات والدوال الثابتة، وسنلقي نظرة على كيفية الوصول إليها. من خلال أمثلة توضيحية وشرح مفصل للأكواد ونتائجها، ستتعلم كل ما تحتاجه للبدء في استخدام الثوابت والدوال الثابتة بثقة.

المحتويات
مفهوم الـ Static في Dart:المتغير الثابت في دارت (Static Variable):كيفية تعريف المتغير الثابت في Dart:كيفية تهيئة المتغير الثابت في Dart:كيفية الوصول إلى المتغير الثابت في Dart:المثال 1: المتغير الثابت في Dart:المثال 2: المتغير الثابت في Dart:الدالة الثابتة في دارت (Static Method):المثال 1: الدالة الثابتة في Dart:المثال 2: الدالة الثابتة في Dart:

مفهوم الـ Static في Dart:

إذا كنت ترغب في تعريف متغير أو دالة يتم مشاركتها بين جميع النماذج (Instances) لكلاس معين، فيمكنك استخدام الكلمة الأساسية Static. يتم الوصول إلى الأعضاء الثابتة باستخدام اسم الكلاس وتستخدم لإدارة الذاكرة.


المتغير الثابت في دارت (Static Variable):

المتغير الثابت هو متغير يتم مشاركته بين جميع النماذج (Instances) لكلاس معين. يتم تعريفه باستخدام الكلمة الأساسية Static ويتم تهيئته مرة واحدة فقط عند تحميل الكلاس. يستخدم لتخزين البيانات على مستوى الكلاس.

كيفية تعريف المتغير الثابت في Dart:

لتعريف متغير ثابت في Dart، يجب استخدام الكلمة الأساسية Static قبل اسم المتغير.

مثال لتعريف متغير ثابت في Dart:

class ClassName {
  static dataType variableName;
}

كيفية تهيئة المتغير الثابت في Dart:

يمكنك بساطة تهيئة المتغير الثابت عن طريق تعيين قيمة له.

مثال لتهيئة متغير ثابت في Dart:

class ClassName {
  static dataType variableName = value;
  // على سبيل المثال: 
  // static int num = 10;
  // static String name = "Dart";
}

كيفية الوصول إلى المتغير الثابت في Dart:

يجب استخدام اسم الكلاس مع اسم المتغير للوصول إلى المتغير الثابت في Dart.

مثال للوصول إلى المتغير الثابت في Dart:

class ClassName {
  static dataType variableName = value;
  // الوصول إلى المتغير الثابت داخل نفس الكلاس
  void display() {
    print(variableName);
  }
}

void main() {
  // الوصول إلى المتغير الثابت خارج الكلاس
  dataType value = ClassName.variableName;
}

المثال 1: المتغير الثابت في Dart:

في هذا المثال، يوجد كلاس يسمى Employee. يحتوي الكلاس على متغير ثابت يُسمى count لحساب عدد الموظفين.

class Employee {
  // المتغير الثابت
  static int count = 0;
  // Constructor
  Employee() {
    count++;
  }
  // الدالة لعرض قيمة count
  void totalEmployee() {
    print("إجمالي الموظفين: $count");
  }
}

void main() {
Employee e1 = Employee();
  e1.totalEmployee();
  Employee e2 = Employee();
  e2.totalEmployee();
  Employee e3 = Employee();
  e3.totalEmployee();
}

نتيجة الكود:

إجمالي الموظفين: 1
إجمالي الموظفين: 2
إجمالي الموظفين: 3

المثال 2: المتغير الثابت في Dart:

في هذا المثال، يوجد كلاس يسمى Student. يحتوي الكلاس على متغير ثابت يُسمى schoolName لتخزين اسم المدرسة. إذا كان كل طالب ينتمي إلى نفس المدرسة، فمن الأفضل استخدام متغير ثابت.

class Student {
  int id;
  String name;
  static String schoolName = "ABC School";
  Student(id,name);
  void display() {
    print("الرقم التعريفي: ${id}");
    print("الاسم: ${name}");
    print("اسم المدرسة: ${Student.schoolName}");
  }
}

void main() {
  Student s1 = Student(1, "John");
  s1.display();
  Student s2 = Student(2, "Smith");
  s2.display();
}

نتيجة الكود:

الرقم التعريفي: 1
الاسم: John
اسم المدرسة: ABC School
الرقم التعريفي: 2
الاسم: Smith
اسم المدرسة: ABC School

الدالة الثابتة في دارت (Static Method):

الدالة الثابتة مشتركة بين جميع النماذج (Instances) لكلاس معين. يتم تعريفها باستخدام الكلمة الأساسية Static ويمكنك الوصول إليها دون إنشاء كائن من الكلاس.

الصيغة:

class ClassName{
static returnType methodName(){
  //statements
}
}

المثال 1: الدالة الثابتة في Dart:

في هذا المثال، سننشئ دالة ثابتة تحسب الفائدة البسيطة. يمكنك استدعاء SimpleInterest.calculateInterest() في أي وقت دون إنشاء كائن من الكلاس.

class SimpleInterest {
  static double calculateInterest(double principal, double rate, double time) {
    return (principal * rate * time) / 100;
  }
}

void main() {
  print("الفائدة البسيطة هي ${SimpleInterest.calculateInterest(1000, 2, 2)}");
}

نتيجة الكود:

الفائدة البسيطة هي 40.0

المثال 2: الدالة الثابتة في Dart:

في هذا المثال، سيتم استخدام الكلاس PasswordGenerator لإنشاء كلمات مرور عشوائية. ستكون الدالة generateRandomPassword() ثابتة وستقوم بإنشاء كلمة مرور تحتوي على حروف صغيرة وأرقام ورموز خاصة.

import 'dart:math';

class PasswordGenerator {
  static String generateRandomPassword() {
    List<String> allalphabets = 'abcdefghijklmnopqrstuvwxyz'.split('');
    List<int> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    List<String> specialCharacters = ['!', '@', '#', '\$', '%', '^', '&', '*'];
    List<String> password = [];
    Random random = Random();
    for (int i = 0; i < 4; i++) {
      password.add(allalphabets[random.nextInt(allalphabets.length)]);
      password.add(numbers[random.nextInt(numbers.length)].toString());
      password.add(specialCharacters[random.nextInt(specialCharacters.length)]);
    }
    password.shuffle();
    return password.join();
  }
}

void main() {
  print("كلمة المرور العشوائية: ${PasswordGenerator.generateRandomPassword()}");
}

نتيجة الكود:

كلمة المرور العشوائية: h4#7t%2a*d^

في هذا المثال، يتم استخدام الدالة الثابتة generateRandomPassword() لإنشاء كلمة مرور عشوائية تحتوي على حروف صغيرة وأرقام ورموز خاصة. يتم توليد الكلمة المرورية من خلال اختيار عناصر عشوائية من قائمة الأحرف والأرقام والرموز. ثم تتم مزج العناصر وتجميعها لإنشاء كلمة المرور النهائية.


في الختام، يعد فهم مفهوم الـ Static في لغة دارت أمرًا أساسيًا للمطورين، حيث يتيح لهم القدرة على تنظيم وإدارة البرامج بشكل فعال وسلس. قم بالاستفادة من المعرفة التي اكتسبتها من هذا المقال في مشاريعك البرمجية، وكن على استعداد لتحقيق الكفاءة والأداء المتميز في تطبيقاتك القادمة. نتمنى لك رحلة مثمرة في عالم برمجة لغة دارت.

 

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
المقال السابق شرح مفهوم التشعبية في لغة دارت (Polymorphism in Dart) الدرس 42: شرح مفهوم التشعبية في لغة دارت (Polymorphism in Dart)
المقال التالي شرح مفهوم الـ Enum في لغة دارت (Enum in Dart) الدرس 44: شرح مفهوم الـ Enum في لغة دارت (Enum in Dart)
Avatar of عبدالله يوسف
بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
تابع:
أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
اترك تعليقا اترك تعليقا

اترك تعليقاً إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials
طريقة انشاء المجلدات باستخدام Dart
طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
Tutorials

مقالات ذات الصلة

اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
شرح العوازل في لغة دارت (Isolates in Dart)
Dart

شرح العوازل في لغة دارت (Isolates in Dart)

8
شرح الـ Stream في لغة دارت (Stream in Dart)
Dart

الدرس 57: شرح الـ Stream في لغة دارت (Stream in Dart)

8
شرح عبارات async & await في لغة دارت (Dart)
Dart

الدرس 56: شرح عبارات async & await في لغة دارت (Dart)

6
شرح مفهوم الـ Future في لغة دارت (Future In Dart)
Dart

الدرس 55: شرح مفهوم الـ Future في لغة دارت (Future In Dart)

6
شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
Dart

الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)

5
10 تمارين محلولة على Null Safety في لغة دارت Dart
Dart

الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart

5
أظهر المزيد
شعار موقع عرب فلاتر شعار موقع عرب فلاتر

About US

Quick Links

  • خدماتنا
  • من نحن
  • اتصل بنا
  • اتفاقية استخدام
  • سياسة الخصوصية
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
adbanner
تم اكتشاف مانع إعلانات
مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
Okay, I'll Whitelist
Welcome Back!

Sign in to your account

هل نسيت كلمة المرور؟