جارٍ تحميل الدرس...
في نافذة الطباعة اختر «حفظ كملف PDF» كوجهة.
نظم التشغيل 2 - المعمل 1
المتغيرات، والتحكم في التدفق، والدوال، والبرمجة كائنية التوجه بلغة Dart، اللغة التي يقوم عليها Flutter
dartpad.dev)، بلا أي تثبيت، يعمل فورا في المتصفح، مثالي للتجارب السريعةDart SDK مع VS Code (بإضافة Dart) أو Android Studiodart --versiondart create my_first_dart_project، ثم نفذه بالأمر dart runmy_first_dart_project/
bin/
نقطة الدخول
lib/
كود قابل لإعادة الاستخدام
test/
اختبارات الوحدة
pubspec.yaml
الإعدادات
main()print() نصا على الطرفية (console)void أن الدالة لا ترجع أي قيمةvoid main() {
print("Dart language is easy to learn");
}| الكلمة المفتاحية | المعنى |
|---|---|
var | يستنتج النوع من القيمة المسندة؛ التصنيف الصريح مثل int age = 25; مسموح ومستحسن من أجل الوضوح |
dynamic | يمكن أن يتغير النوع وقت التشغيل |
final | قيمة تحدد وقت التشغيل ولا تتغير بعد ذلك |
const | قيمة ثابتة تحدد وقت التصريف |
var name = "Dart";
int age = 25;
final a = 12;
const pi = 3.14;int للأعداد الصحيحة، وdouble للأعداد العشريةbool قيمة true أو false فقطString name = "Ahmed";
print("Hello, $name!");
print("Next year I'll be ${25 + 1}");| النوع | الوصف |
|---|---|
List | مجموعة مرتبة، بديل Dart عن المصفوفات |
Map | أزواج مفتاح-قيمة، تقرأ عبر المفتاح |
Set | مجموعة من القيم الفريدة |
dynamic | يعرف بلا نوع ثابت، يمكن أن يحمل أي قيمة ويغير نوعه لاحقا |
var list = [1, 2, 3, 4, 5];
var mapping = {'id': 1, 'name': 'Dart'};
print(mapping['name']); // Dartif، وif-else، وelse-if، وswitchint score = 85;
if (score >= 90) {
print("Excellent");
} else if (score >= 75) {
print("Good");
} else {
print("Needs Improvement");
}for: الحلقة التقليدية القائمة على عدادfor-in: تكرر مباشرة على عناصر مجموعةwhile: تتكرر طالما بقي الشرط صحيحاdo-while: تنفذ الجسم مرة واحدة على الأقل، ثم تتحقق من الشرطالتحقق من الشرط
تنفيذ كتلة الكود
تحديث العداد
for (var i = 1; i <= 5; i++) {
print(i);
}void (لا شيء) أو قيمة محددة النوعint multiply(int a, int b) {
return a * b;
}
void main() {
int result = multiply(5, 3);
print("Result: $result"); // 15
}الحقول
أدوات الوصول (Getters/Setters)
الباني (Constructor)
الدوال (Methods)
class Employee {
String name = "";
void result() {
print(name);
}
}
void main() {
Employee emp = Employee();
emp.name = "employee1";
emp.result(); // employee1
}switch لحساب النتيجة1 إلى 20، مع استبدال Fizz/Buzz/FizzBuzz حسب قواعد القسمةStudent بدالتي isHonors() وdisplayInfo()isPrime(int number) واختبرها مقابل عدة قيمDart كلمة var/الأنواع الصريحة للمتغيرات، وfinal للثوابت وقت التشغيل، وconst للثوابت وقت التصريفint، وdouble، وString، وbool، إضافة إلى المجموعات List وMap وSetif/else/switch لاتخاذ القرارات، وأربعة أشكال من الحلقات للتكرارDart لغة كائنية التوجه: تعرف الأصناف الحقول، والباني، وأدوات الوصول، والدوالFlutter لاحقMahmoud Abas|المعمل 1: مقدمة في لغة Dart