0% found this document useful (0 votes)
69 views12 pages

Basics of Dart Language (Autosaved)

This document provides an overview of some basic concepts in the Dart programming language, including lists, functions, comments, maps, try-catch, and classes. Lists are arrays with additional properties. Functions allow code reuse by defining reusable blocks of code. Comments are notes for documentation and explanation. Maps contain key-value pairs. Try-catch is used to prevent crashes from errors. Classes define custom types that can then be used to create multiple object instances.

Uploaded by

wow pro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views12 pages

Basics of Dart Language (Autosaved)

This document provides an overview of some basic concepts in the Dart programming language, including lists, functions, comments, maps, try-catch, and classes. Lists are arrays with additional properties. Functions allow code reuse by defining reusable blocks of code. Comments are notes for documentation and explanation. Maps contain key-value pairs. Try-catch is used to prevent crashes from errors. Classes define custom types that can then be used to create multiple object instances.

Uploaded by

wow pro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

BASICS OF

DART
LANGUAGE
‫اﻟﻘﻮاﺋﻢ ‪LISTS‬‬

‫ﻟﻐﺔ دارت ﺗﻌطﯾك ‪ Lists‬واﻟﺗﻲ ھﻲ ﻋﺑﺎرة ﻋن‬


‫ﻣﺻﻔوﻓﺎت ﻣﻊ ﺑﻌض اﻟﺧﺻﺎﺋص اﻹﺿﺎﻓﯾﺔ‪.‬‬
‫;]'‪var arr = ['a','b','c','d','e‬‬
‫;)‪print(arr‬‬
‫‪List‬أرﺑﻊ ﻋﻧﺎﺻر ﻣن ‪ ۱‬اﻟﻰ ‪var arr =[1,2,3,4]; ٤‬‬
‫;)]‪print(arr[1‬‬ ‫اطﺑﻊ اﻟﻌﻧﺻر اﻟﺛﺎﻧﻲ ‪.‬‬
‫ﻏﯾر ﻗﯾﻣﺔ اﻟﻌﻧﺻر اﻟراﺑﻊ اﻟﻰ ‪arr[3]=5; ٥‬‬
‫اطﺑﻊ طول اﻟﻘﺎﺋﻣﺔ‪print(arr.length);.‬‬
‫‪FUNCTION‬‬

‫ﻓﻛرة ‪ Function‬ھﻲ ﺑﻛﺗﺎﺑﺔ ﻛود ﻓﻲ ‪ Function‬ﻣﻧﻔﺻل‬


‫واﺳﺗدﻋﺎﺋﮫ ﻋﻧد اﻟﺣﺎﺟﺔ ‪ ،‬ﻟﻧﻔرض أﻧﮫ ﻟﯾس ﻟدﯾﻧﺎ ‪Function‬‬
‫ﺟﺎھز ﻹﯾﺟﺎد ﻣرﺑﻊ اﻟﻌدد وﻧرﯾد اﻧﺷﺎء واﺣد ﻓﺳﯾﻛون ﻛﻣﺎ ﯾﻠﻲ‪:‬‬
‫)‪int power(int num‬‬
‫{‬
‫;‪return num*num‬‬
‫}‬
‫ﻋﺗد اﺳﺗدﻋﺎء اﻟداﻟﺔ ﻓﻲ ‪main‬‬
‫;’‪import 'package:list/list.dart‬‬
‫{ )(‪void main‬‬ ‫‪A‬‬
‫;)‪var x=power(5‬‬
‫}‬
‫‪COMMENTS‬‬
‫ھﻲ ﻋﺑﺎرة ﻋن ﺟﻣل ﺗوﺿﯾﺣﯾﺔ ﯾﻘوم اﻟﻣﺑرﻣﺞ ﺑﺈﺿﺎﻓﺗﮭﺎ ﺿﻣن أي ﻣﻛﺎن ﻓﻲ‬
‫اﻟﻣﺷروع اﻟﺑرﻣﺟﻲ أﺛﻧﺎء ﺑﻧﺎﺋﮫ‪ ،‬وﺗُﻌﺗﺑر اﻟﺗﻌﻠﯾﻘﺎت ﻛﺎﻟﻣﻔﺗﺎح‪ ،‬ﻓﮭﻲ ﺗﮭدف إﻟﻰ‬
‫اﻟﻣﺷروع اﻟﺑرﻣﺟﻲ ﺳوا ًء ﻟﻠﺷﺧص اﻟذي ﻗﺎم ﺑﺑﻧﺎﺋﮫ أو ﺣﺗﻰ ﺗﺳﮭﯾل ﻗراءة‬
‫ﻷي ﺷﺧص آﺧر ﯾﺣﺎول ﻓﮭﻣﮫ أو اﻟﺗﻌدﯾل‬
‫‪//here will set comment‬‬
‫‪//here will set comment‬‬
‫أﻣﺎ اﻟﻧوع اﻟﺛﺎﻧﻲ ھو ﻟﻠﺗﻌﻠﯾﻘﺎت اﻟطوﯾﻠﺔ واﻟﺗﻲ ﻧﻘوم ﺑﺗﻣﯾزﯾﮭﺎ‪ ،‬وھو‬
‫ﺑﺎﺳﺗﺧدام اﻟﺷرطﺔ اﻟﻣﺎﺋﻠﺔ ﻟﻠﯾﺳﺎر‬
‫ﺛم ﻋﻼﻣﺔ اﻟﻧﺟﻣﺔ ﻟﻔﺗﺢ اﻟﺗﻌﻠﯾﻖ‪ ،‬ﺛم ﻧﻘوم ﺑﺈﻏﻼق اﻟﺗﻌﻠﯾﻖ ﻋﻛس اﻟﻔﺗﺢ وھو‬
‫ﺑﺈﺿﺎﻓﺔ ﻋﻼﻣﺔ اﻟﻧﺟﻣﺔ‬
‫ﻣﺗﺑوﻋﺔ ﺑﺎﻟﺷرطﺔ اﻟﻣﺎﺋﻠﺔ ﻟﻠﯾﺳﺎر ﻟﯾﺻﺑﺢ ﺑﺎﻟﺷﻛل اﻟﺗﺎﻟﻲ‪:‬‬
‫‪/* here will comments */‬‬
‫‪A‬‬ ‫‪1‬‬
‫‪/* here will comments */‬‬
‫‪MAP‬‬
‫ھﻲ ﻛﺎﺋﻧﺎت ﻟﻛل ﻣﻧﮭﺎ ﻗﯾﻣﺔ وﻣﻔﺗﺎح‪ .‬وﻛل ﻣن اﻟﻘﯾﻣﺔ أو اﻟﻣﻔﺗﺎح ﯾﻣﻛن أن‬
‫ﯾﻛون أي ﻧوع ﻣن اﻟﻛﺎﺋﻧﺎت‪.‬‬
‫{ = ‪var names‬‬
‫‪'first’: ‘Sam',‬‬
‫‪'second’: Wadeea',‬‬
‫’‪'third’: Ali‬‬
‫;}‬
‫ﺣﯾث اﻟﻌﻧﺎﺻر ﻓﻲ اﻟﻌﺎﻣود اﻷﯾﺳر ھﻲ اﻟﻣﻔﺎﺗﯾﺢ واﻟﻌﺎﻣود اﻷﯾﻣن‬
‫ھﻲ اﻟﻘﯾم‪.‬‬
‫ﻛﻣﺎ ﯾﻣﻛن إﺿﺎﻓﺔ ﻋﻧﺻر ﺟدﯾد ‪ Map‬ﻓﻲ أي وﻗت‪:‬‬
‫'‪'fourth’:’zed‬‬
‫‪:TRY – CATCH‬‬
‫ﺗﺳﺗﺧدم ھذه اﻟﺗﻌﻠﯾﻣﺔ ﻟﺗﺟﻧب اﻟوﻗوع ﻓﻲ ﺣﺎﻻت ﻓﺷل ﻟﻠﺑرﻧﺎﻣﺞ ﻋﻧد ورود‬
‫ﺧطﺄ وﯾﺗم ﻓﯾﮭﺎ وﺿﻊ ﻛل ﻣن اﻟﺑرﻧﺎﻣﺞ اﻟﻣطﻠوب أو اﻟﺟزء اﻟﻣطﻠوب ﻓﻲ‬
‫‪try‬ﻣﺛل اﻟﻌﻣﻠﯾﺎت اﻟﻣﮭﻣﺔ ﻓﺗﺢ ﻗﺎﻋدة اﻟﺑﯾﺎﻧﺎت اﻷﺷﻛﺎل ﻓﻲ اﻟﺷﺑﻛﺔ وﻓﻲ‬
‫ﺣﺎل وﺟود أي ﺧطﺎ ﺳوف ﯾﻛﻣل اﻟﺗﻧﻔﯾذ ﻓﻲ ‪catch‬‬
‫{ ‪try‬‬
‫;‪var x = 5‬‬
‫;‪var y = 0‬‬
‫;‪var z = x/y‬‬
‫;)‪print (z‬‬
‫}‬
‫{)‪catch (e‬‬
‫;)'‪print ('divide by zero‬‬
‫}‬
‫‪CLASS‬‬
‫دارت ھﻲ ﻟﻐﺔ ﻛﺎﺋﻧﯾﺔ ﺗﺗﻌﺎﻣل ﻣﻊ ‪ CLASS‬واﻟﻌﻣﻠﯾﺎت ﻋﻠﯾﮭﺎ‪.‬‬
‫ﻛل ﻛﺎﺋن ھو ﻧﺳﺧﺔ ﻣن ‪ CLASS‬أﺳﺎﺳﻲ‪.‬‬
‫ﻟﻧﺑﺳط اﻻﻣر اﻟﺻﻧف ھو ﻋﺑﺎرة ﻋن ﻧوع ﺟدﯾد أرﯾد أﻧﺎ إﻧﺷﺎءه وﺑﻌد اﻻﻧﺗﮭﺎء‬
‫ﻣن ﺑﻧﺎءه آﺧذ ﻣﻧﮫ ﻧﺳﺦ ﺗﺳﻣﻰ‪ OBJECTS‬ﻛﺎﺋﻧﺎت‪.‬‬
‫{ ‪class Point‬‬ ‫)(‪void printXAndY‬‬
‫;‪num x‬‬ ‫{‬
‫;‪num y‬‬ ‫;)‪print(x‬‬
‫)‪point (num x, num y‬‬ ‫;)‪print(y‬‬
‫{‬ ‫}‬
‫;‪this.x = x‬‬ ‫}‬
‫;‪this.y = y‬‬
‫}‬
‫‪CLASS‬‬
‫ﺑﻌد أن ﺗم اﻧﺷﺎء ‪ CLASS‬ﯾﻣﻛن اﺳﺗﺧداﻣﮫ ﻋدد ﻻ ﻧﮭﺎﺋﻲ ﻣن اﻟﻣرات ﺑﺎﻧﺷﺎء‬
‫ﻛﺎﺋن ﻣﻧﮫ ﻛﻣﺎ ﯾﻠﻲ‪:‬‬
‫;)‪Point p1 = new Point(5,3‬‬
‫وﻓﻲ ﺣﺎل ﻛﺗﺑﻧﺎ ‪:‬‬
‫;)(‪p1.printXAndY‬‬
‫ﺳوف ﯾﻘوم ﺑطﺑﺎﻋﺔ اﻟﻘﯾم ﻛﻣﺎ ﯾﻠﻲ‪:‬‬
‫‪٥‬‬
‫‪٦‬‬
‫ﯾﻣﻛن ﻛﺗﺎﺑﺔ اﻟﻛﺎﺋن ﺑﺎﻟﺷﻛل اﻟﻣﺧﺗﺻر‪ :‬ﻓﻲ ‪dart‬‬
‫‪Point (this.x, this.y):‬‬
‫ﻣﻌﺮﻓﺎت اﻟﻮﺻﻮل‪:‬‬
‫ﻋﻠﻰ ﺧﻼف اﻟﻛﺛﯾر ﻣن ﻟﻐﺎت اﻟﺑرﻣﺟﺔ ‪ dart‬ﻻ ﺗﺣوي ﻣﻌرﻓﺎت وﺻول‬
‫اﻟﻛﻼﺳﯾﻛﯾﺔ اﻧﻣﺎ ﺗﺣوي ﻓﻘط ﻣﻌرف اﻟﺧﺻوﺻﯾﺔ ‪ private‬ﻋﻠﻰ ﻣﺳﺗوى‬
‫اﻟﺣزﻣﺔ ﻛﻛل‪.‬‬
‫أي إذا أردﻧﺎ إﻧﺷﺎء ﻣﺗﻐﯾر ﺿﻣن ﺻﻧف ‪ class‬وھذا اﻟﻣﺗﻐﯾر ﻻ ﯾوﺟد أي‬
‫ﻛﻼس اﺧر ﯾﻣﻛﻧﮫ ﻣﻌرﻓﺔ ﻗﯾﻣﺗﮫ ﻧﻛﺗب اﻟﻣﺗﻐﯾر ﺑﺎﻟﺷﻛل‪:‬‬
‫;‪var _ x = 5‬‬
‫‪Static‬‬
‫ﻓﻧﻼﺣظ أﻧﮫ ﻋﻧد ﺗﻌرﯾف ﻣﺗﻐﯾرا ﻣن ﻧوع ‪Static‬ﯾﺻﺑﺢ ﻗﯾﻣﺔ ﻧﻔﺳﮭﺎ ﻟﻛل‬
‫اﻟﻛﺎﺋﻧﺎت ﺑﺣﯾث إذا ﻋدﻟﺗﮭﺎ ﻷي ﻛﺎﺋن ﺳوف ﺗﺗﻌدل ﻟﻠﺟﻣﯾﻊ‬

‫‪A‬‬
‫اﻟﻮراﺛﺔ‪:‬‬
‫اﻟوراﺛﺔ ﻣﻔﮭوم ﺑﺳﯾط ﯾﺳﺎﻋدﻧﻲ ﻋﻠﻰ ﺑﻧﺎء ‪ class‬ﺑﺎﻻﻋﺗﻣﺎد ﻋﻠﻰ أﺻﻧﺎف‬
‫ﺳﺎﺑﻘﺔ وﯾرﯾﺣﻧﻲ ﻣن ﻋﻧﺎء ﻛﺗﺎﺑﺗﮭﺎ ﻣن ﺟدﯾد‪.‬‬
‫ﻟﻧﻔرض أرﯾد إﻧﺷﺎء ‪ class‬ﺳﯾﺎرة ﻟدﯾﮭﺎ )ﺳرﻋﺔ‪ ،‬ﻟون‪ ،‬وزن( و ‪Function‬‬
‫ﻟﯾﻌطﯾﻧﻲ اﻟوﻗت‬
‫ھﻧﺎ ﻧﻼﺣظ أﻧﮫ ﻟدﯾﻧﺎ ‪ class‬اﻟﺳﯾﺎرة ﻓﯾﮫ ﻛل ﻣن اﻟﺳرﻋﺔ واﻟﻠون و‬
‫‪ Function‬اﻟﻣطﻠوب وﻟﻛﻧﻧﺎ ﺑﺣﺎﺟﺔ‬
‫ﻹﺿﺎﻓﺔ ﺧﺎﺻﺔ اﻟوزن‪ .‬ﻓﮭﻧﺎ ﻧﺳﺗﺧدم اﻟوراﺛﺔ وﯾﻛون اﻟﺻﻧف اﻟﺟدﯾد ﻛﻣﺎ ﻓﻲ‬
‫اﻟﺷﻛل‪:‬‬
‫{ ‪class car2 extends car‬‬
‫‪car2(num speed, String color) :‬‬
‫;)‪super(speed, color‬‬
‫;‪var weight‬‬ ‫‪A‬‬
‫ﺗﻢ اﻻﻧﺘﮭﺎء ﻣﻦ ﻣﻘﺪﻣﺔ‬
‫‪DART‬‬

‫‪A‬‬
‫اﻟﺗﻌرف ﻋﻠﻰ ﺑﯾﺋﺔ ﻓﻼﺗر‬
‫ﻓﻼﺗر ھﻲ ﻣﻧﺻﺔ ﺗطوﯾر ﺗطﺑﯾﻘﺎت ﺟوال ﻣﻔﺗوﺣﺔ اﻟﻣﺻدر أﻧﺷﺄت ﻣن ﻗﺑل‬
‫ﺟوﺟل وﺗﺳﺗﺧدم ھذه اﻟﻣﻧﺻﺔ ﻣن اﺟل ﺗطوﯾر ﺗطﺑﯾﻘﺎت أﻧظﻣﺔ اﻧدروﯾد و‬
‫‪ios‬وﻛذﻟك ﻧظﺎم ﻓوﺷﯾﺎ اﻟﺟدﯾد‪.‬‬
‫اﻟﻧﺳﺧﺔ اﻷوﻟﻰ ﻣن ﻓﻼﺗر واﻟﻣﻌروﻓﺔ ﺑــ ‪ sky‬اﻟﺳﻣﺎء ﻗد ﺑﻧﯾت ﻟﺗطوﯾر‬
‫ﺗطﺑﯾﻘﺎت اﻻﻧدروﯾد ﻋﺎم ‪ ۲۰۱٥‬وھﻛذا ﺗطورت ﺣﺗﻰ ﺑﺎﻗﻲ أﻧظﻣﺔ اﻟﺗﺷﻐﯾل‪.‬‬

‫ﯾﺟب أن ﻧﻧوه أن أي ﺷﻲء ﻓﻲ ﻓﻼﺗر ھو ‪ widget‬ﻋﻠﻰ ﺳﺑﯾل اﻟﻣﺛﺎل‪:‬‬


‫اﻟﻧص‪ ،‬اﻟﺻورة واﻟزر ھﻲ ‪ widget‬ﺑﻌد ﺗﺟﮭﯾز اﻟﺑﯾﺋﺔ و اﺣد ‪IDE‬‬
‫‪Android studio, IntliJ IDEA‬‬
‫اﻟﻣﺷروع اﻷول‪:‬‬

‫‪A‬‬

You might also like