<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>آموزش رایگان &#8211; programmingshow | پروگرمینگ شو</title>
	<atom:link href="https://programmingshow.ir/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b1%d8%a7%db%8c%da%af%d8%a7%d9%86/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmingshow.ir</link>
	<description>آموزش تخصصی برنامه نویسی </description>
	<lastBuildDate>Mon, 18 Nov 2024 13:16:09 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://programmingshow.ir/wp-content/uploads/2024/10/elementor/thumbs/logo-512-qx3z74r3csu7cz4ph342bcldcbl3zej8faux3utlf2.png</url>
	<title>آموزش رایگان &#8211; programmingshow | پروگرمینگ شو</title>
	<link>https://programmingshow.ir</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>آموزش رایگان زبان دارت &#8211; انتزاع در دارت</title>
		<link>https://programmingshow.ir/abstraction-in-dart/</link>
					<comments>https://programmingshow.ir/abstraction-in-dart/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Fri, 28 Jun 2024 06:30:35 +0000</pubDate>
				<category><![CDATA[آموزش دارت]]></category>
		<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش فلاتر]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=1528</guid>

					<description><![CDATA[کلاس‌های انتزاعی کلاس‌هایی هستند که نمی‌توان از آن‌ها شیء‌سازی کرد و معمولاً شامل متدهای انتزاعی هستند که باید توسط کلاس‌های فرزند پیاده‌سازی شوند.]]></description>
										<content:encoded><![CDATA[<iframe id='wp-aparat-6a3d78e18a93e' src='https://www.aparat.com/video/video/embed/videohash/3JhC5/vt/frame' width='100%' allowfullscreen='true' class='aparat-frame aparat-full-frame'></iframe>
<p>&nbsp;</p>
<p>انتزاع (Abstraction) یکی از اصول اساسی در برنامه‌نویسی شی‌گرا (OOP) است که به مخفی‌سازی جزئیات پیاده‌سازی و نمایش فقط ویژگی‌ها و رفتارهای مهم برای استفاده کاربران می‌پردازد. این مقاله به بررسی مفهوم انتزاع در <a href="https://dart.dev/tutorials" target="_blank" rel="noopener">زبان دارت (Dart)</a> و نحوه استفاده از آن می‌پردازد. همچنین به معرفی <strong><a href="https://programmingshow.ir/product/diamond-flutter/">دوره فلاتر الماس</a></strong> که به آموزش این مفاهیم می‌پردازد، اشاره خواهیم کرد.</p>
<p>&nbsp;</p>
<h2><span style="color: #e00000;"><strong>انتزاع در دارت</strong></span></h2>
<p><a href="https://www.geeksforgeeks.org/abstract-classes-in-dart/" target="_blank" rel="noopener"><strong>انتزاع</strong></a> به ما امکان می‌دهد تا جزئیات پیچیده یک سیستم را مخفی کرده و فقط بخش‌های مهم و مورد نیاز کاربران را نمایش دهیم. در دارت، انتزاع معمولاً از طریق کلاس‌های انتزاعی (Abstract Classes) و اینترفیس‌ها (<a href="https://www.tutorialspoint.com/dart_programming/dart_programming_interfaces.htm" target="_blank" rel="noopener">Interfaces</a>) پیاده‌سازی می‌شود.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #e00000;">کلاس‌های انتزاعی</span></strong></h3>
<p>کلاس‌های انتزاعی کلاس‌هایی هستند که نمی‌توان از آن‌ها شیء‌سازی کرد و معمولاً شامل متدهای انتزاعی هستند که باید توسط کلاس‌های فرزند پیاده‌سازی شوند. این نوع کلاس‌ها برای تعریف اینترفیس‌های عمومی و استاندارد در یک سلسله مراتب ارث‌بری استفاده می‌شوند.</p>
<p>&nbsp;</p>
<h4><strong><span style="color: #e00000;">تعریف کلاس انتزاعی</span></strong></h4>
<p>در دارت، برای تعریف یک کلاس انتزاعی از کلمه کلیدی <a href="https://medium.com/@yetesfadev/abstract-class-short-b69cde4278ea#:~:text=In%20summary%2C%20abstract%20classes%20in,inherit%20their%20properties%20and%20methods." target="_blank" rel="noopener"><code>abstract</code></a> استفاده می‌شود. مثال زیر یک کلاس انتزاعی را نشان می‌دهد:</p>
<p>&nbsp;</p>
<figure id="attachment_2469" aria-describedby="caption-attachment-2469" style="width: 601px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="wp-image-2469 size-full" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-15-1.png" alt="تعریف کلاس انتزاعی" width="601" height="543" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-15-1.png 601w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-15-1-300x271.png 300w" sizes="(max-width: 601px) 100vw, 601px" /><figcaption id="caption-attachment-2469" class="wp-caption-text">تعریف کلاس انتزاعی</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، کلاس <code>Animal</code> یک کلاس انتزاعی است که دارای یک متد انتزاعی <code>makeSound</code> و یک متد غیر انتزاعی <code>sleep</code> می‌باشد. کلاس <code>Dog</code> از <code>Animal</code> ارث‌بری کرده و متد <code>makeSound</code> را پیاده‌سازی می‌کند.</p>
<p>&nbsp;</p>
<h3><span style="color: #e00000;"><strong>اینترفیس‌ها</strong></span></h3>
<p>اینترفیس‌ها در دارت به ما امکان می‌دهند تا مجموعه‌ای از متدها را تعریف کنیم که باید توسط کلاس‌های پیاده‌سازی‌کننده بازنویسی شوند. اینترفیس‌ها به ما انعطاف بیشتری در طراحی و استفاده از انتزاع می‌دهند.</p>
<p>&nbsp;</p>
<h4><span style="color: #e00000;"><strong>تعریف اینترفیس</strong></span></h4>
<p>در دارت، اینترفیس‌ها با استفاده از کلاس‌های معمولی تعریف می‌شوند، اما تفاوت در این است که کلاس‌هایی که این اینترفیس‌ها را پیاده‌سازی می‌کنند باید تمامی متدهای تعریف شده در اینترفیس را پیاده‌سازی کنند.</p>
<p>&nbsp;</p>
<figure id="attachment_2470" aria-describedby="caption-attachment-2470" style="width: 665px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-2470 size-full" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-16-1.png" alt="اینترفیس" width="665" height="655" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-16-1.png 665w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-16-1-300x295.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-16-1-600x591.png 600w" sizes="(max-width: 665px) 100vw, 665px" /><figcaption id="caption-attachment-2470" class="wp-caption-text">اینترفیس</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، کلاس <code>Shape</code> به عنوان یک اینترفیس عمل می‌کند و کلاس‌های <code>Circle</code> و <code>Square</code> آن را پیاده‌سازی می‌کنند.</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<p>&nbsp;</p>
<h2><strong><span style="color: #e00000;">آموزش انتزاع در دارت</span></strong></h2>
<p>یادگیری مفاهیم انتزاع در دارت برای توسعه‌دهندگان فلاتر اهمیت زیادی دارد. درک صحیح این مفاهیم می‌تواند به توسعه نرم‌افزارهای پایدار و قابل نگهداری کمک کند. دوره فلاتر الماس یکی از منابع آموزشی معتبر است که به آموزش اصول برنامه‌نویسی شی‌گرا و انتزاع در دارت می‌پردازد.</p>
<p>&nbsp;</p>
<h3><span style="color: #e00000;"><strong>محتوای دوره فلاتر الماس</strong></span></h3>
<p><strong><a href="https://programmingshow.ir/product/diamond-flutter/">دوره فلاتر الماس</a></strong> به صورت جامع به آموزش فلاتر و دارت می‌پردازد و شامل مباحث متعددی از جمله انتزاع می‌باشد. در این دوره، مفاهیم انتزاع به صورت تئوری و عملی آموزش داده می‌شود و شرکت‌کنندگان با مثال‌های متعددی از دنیای واقعی روبرو می‌شوند.</p>
<p>برخی از مباحثی که در این دوره پوشش داده می‌شوند عبارتند از:</p>
<ul>
<li>معرفی و مبانی برنامه‌نویسی شی‌گرا</li>
<li>تعریف کلاس‌ها و اشیاء</li>
<li>اصول انتزاع و نحوه استفاده از آن</li>
<li>کلاس‌های انتزاعی و کاربرد آن‌ها</li>
<li>اینترفیس‌ها و پیاده‌سازی آن‌ها</li>
<li>مدیریت و بهینه‌سازی اشیاء با استفاده از انتزاع</li>
</ul>
<h2></h2>
<h2><strong><span style="color: #e00000;">مزایای استفاده از انتزاع در دارت</span></strong></h2>
<p>استفاده از انتزاع در دارت دارای مزایای متعددی است که برخی از آن‌ها عبارتند از:</p>
<ol>
<li><span style="color: #e00000;"><strong> کاهش پیچیدگی<br />
</strong></span>انتزاع به ما امکان می‌دهد تا جزئیات پیچیده یک سیستم را مخفی کنیم و فقط بخش‌های مهم و مورد نیاز کاربران را نمایش دهیم، که این امر باعث کاهش پیچیدگی کد می‌شود.</li>
<li><span style="color: #e00000;"><strong>افزایش قابلیت استفاده مجدد<br />
</strong></span>با استفاده از انتزاع، می‌توانیم کدهای خود را به گونه‌ای طراحی کنیم که به راحتی قابل استفاده مجدد باشند.</li>
<li><span style="color: #e00000;"><strong>تسهیل در نگهداری کد<br />
</strong></span>انتزاع به ما امکان می‌دهد تا کدهای خود را به گونه‌ای طراحی کنیم که نگهداری و به‌روزرسانی آن‌ها آسان‌تر باشد.</li>
<li><span style="color: #e00000;"><strong>بهبود خوانایی کد<br />
</strong></span>با مخفی‌سازی جزئیات پیچیده و نمایش فقط بخش‌های مهم، می‌توانیم کدهای خود را خواناتر و قابل درک‌تر کنیم.</li>
</ol>
<p>&nbsp;</p>
<h2><span style="color: #e00000;"><strong>مثال‌های عملی از انتزاع در فلاتر</strong></span></h2>
<p>برای درک بهتر انتزاع در دارت، به چند مثال عملی از استفاده آن در پروژه‌های فلاتر می‌پردازیم.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #e00000;">مثال 1: ایجاد ویجت‌های سفارشی با انتزاع</span></strong></h3>
<p>در فلاتر، می‌توانیم از انتزاع برای ایجاد ویجت‌های سفارشی استفاده کنیم:</p>
<p>&nbsp;</p>
<figure id="attachment_2471" aria-describedby="caption-attachment-2471" style="width: 774px" class="wp-caption aligncenter"><img decoding="async" class="wp-image-2471 size-large" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-17-1-774x1024.png" alt="ایجاد ویجت‌های سفارشی با انتزاع" width="774" height="1024" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-17-1-774x1024.png 774w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-17-1-227x300.png 227w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-17-1-768x1016.png 768w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-17-1-600x794.png 600w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-17-1.png 833w" sizes="(max-width: 774px) 100vw, 774px" /><figcaption id="caption-attachment-2471" class="wp-caption-text">ایجاد ویجت‌های سفارشی با انتزاع</figcaption></figure>
<p>&nbsp;</p>
<h3><span style="color: #e00000;"><strong>مثال 2: مدیریت داده‌ها با انتزاع</strong></span></h3>
<p>در برنامه‌های پیچیده، ممکن است نیاز باشد تا داده‌ها را با استفاده از انتزاع مدیریت کنیم. می‌توانیم از انتزاع برای این منظور استفاده کنیم:</p>
<p>&nbsp;</p>
<figure id="attachment_2472" aria-describedby="caption-attachment-2472" style="width: 887px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2472" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-18-1.png" alt=" مدیریت داده‌ها با انتزاع" width="887" height="655" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-18-1.png 887w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-18-1-300x222.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-18-1-768x567.png 768w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-18-1-600x443.png 600w" sizes="(max-width: 887px) 100vw, 887px" /><figcaption id="caption-attachment-2472" class="wp-caption-text">مدیریت داده‌ها با انتزاع</figcaption></figure>
<p>&nbsp;</p>
<h3><span style="color: #e00000;">نتیجه‌گیری</span></h3>
<p>انتزاع یکی از اصول مهم و کاربردی در برنامه‌نویسی شی‌گرا است که در زبان دارت و فلاتر نقش مهمی ایفا می‌کند. با استفاده از انتزاع، توسعه‌دهندگان می‌توانند کدهای انعطاف‌پذیرتر، قابل استفاده مجددتر و قابل نگهداری‌تری بنویسند.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/abstraction-in-dart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش رایگان زبان دارت &#8211; چند ریختی در دارت</title>
		<link>https://programmingshow.ir/polymorphism-in-dart/</link>
					<comments>https://programmingshow.ir/polymorphism-in-dart/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Wed, 26 Jun 2024 06:30:07 +0000</pubDate>
				<category><![CDATA[آموزش دارت]]></category>
		<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=1529</guid>

					<description><![CDATA[چندریختی به توسعه‌دهندگان اجازه می‌دهد تا از یک اینترفیس مشترک برای اشیاء مختلف استفاده کنند. این امر به برنامه‌ها انعطاف بیشتری می‌دهد و امکان استفاده مجدد از کد را افزایش می‌دهد.]]></description>
										<content:encoded><![CDATA[<iframe id='wp-aparat-6a3d78e18b4a5' src='https://www.aparat.com/video/video/embed/videohash/ydpWb/vt/frame' width='100%' allowfullscreen='true' class='aparat-frame aparat-full-frame'></iframe>
<p>&nbsp;</p>
<p><a href="https://medium.com/@moyeen_haider/polymorphism-in-dart-7ef059c4e14e" target="_blank" rel="noopener">چندریختی (Polymorphism)</a> یکی از مفاهیم کلیدی و اساسی در برنامه‌نویسی شی‌گرا (OOP) است. این مفهوم به برنامه‌ها اجازه می‌دهد که از یک اینترفیس مشترک برای اشیاء مختلف استفاده کنند. در این مقاله، به بررسی مفهوم چندریختی در<a href="https://dart.dev/" target="_blank" rel="noopener"> زبان دارت (Dart)</a> پرداخته و نحوه استفاده از آن را توضیح می‌دهیم. همچنین به معرفی دوره فلاتر الماس که به آموزش این مفاهیم می‌پردازد، اشاره خواهیم کرد.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">چندریختی در دارت</span></strong></h2>
<p>چندریختی به توسعه‌دهندگان اجازه می‌دهد تا از یک اینترفیس مشترک برای اشیاء مختلف استفاده کنند. این امر به برنامه‌ها انعطاف بیشتری می‌دهد و امکان استفاده مجدد از کد را افزایش می‌دهد. چندریختی در دارت از طریق وراثت و اینترفیس‌ها (<a href="https://dart-tutorial.com/object-oriented-programming/interface-in-dart/" target="_blank" rel="noopener">interfaces</a>) پیاده‌سازی می‌شود.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #d90000;">چندریختی با وراثت</span></strong></h3>
<p>در دارت، کلاس‌ها می‌توانند از کلاس‌های دیگر ارث‌بری کنند و متدهای آن‌ها را بازنویسی (<a href="https://www.google.com/search?q=dart+programming+override&amp;sca_esv=8eb2b271edd6fc02&amp;rlz=1C5CHFA_enIR1083IR1083&amp;sxsrf=ADLYWIKPJgHySe7Sf7zIVmZrzdRiXZSs8A%3A1718722491253&amp;ei=u59xZsmED_CL9u8PtYiYyA0&amp;ved=0ahUKEwiJzructOWGAxXwhf0HHTUEBtkQ4dUDCBA&amp;uact=5&amp;oq=dart+programming+override&amp;gs_lp=Egxnd3Mtd2l6LXNlcnAiGWRhcnQgcHJvZ3JhbW1pbmcgb3ZlcnJpZGUyBRAhGKABMgUQIRigATIFECEYnwUyBRAhGJ8FMgUQIRifBTIFECEYnwVIuQZQrQJYrQJwAngBkAEAmAGkA6ABpAOqAQM0LTG4AQPIAQD4AQL4AQGYAgOgArMDwgIKEAAYsAMY1gQYR5gDAIgGAZAGCJIHBTIuNC0xoAe3Bg&amp;sclient=gws-wiz-serp" target="_blank" rel="noopener">override</a>) کنند. این امر به ما اجازه می‌دهد تا از متدهای یکسان برای اشیاء مختلف استفاده کنیم.</p>
<p>&nbsp;</p>
<figure id="attachment_2461" aria-describedby="caption-attachment-2461" style="width: 685px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2461 size-full" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-11-1-1.png" alt="چندریختی با وراثت" width="685" height="692" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-11-1-1.png 685w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-11-1-1-297x300.png 297w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-11-1-1-600x606.png 600w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-11-1-1-100x100.png 100w" sizes="(max-width: 685px) 100vw, 685px" /><figcaption id="caption-attachment-2461" class="wp-caption-text">چندریختی با وراثت</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، کلاس‌های <code>Dog</code> و <code>Cat</code> از کلاس <code>Animal</code> ارث‌بری کرده و متد <code>makeSound</code> را بازنویسی کرده‌اند. با استفاده از چندریختی، می‌توانیم از یک اینترفیس مشترک برای اشیاء مختلف استفاده کنیم.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #d90000;">چندریختی با اینترفیس‌ها</span></strong></h3>
<p>اینترفیس‌ها در دارت به ما امکان می‌دهند تا مجموعه‌ای از متدها را تعریف کنیم که باید توسط کلاس‌های پیاده‌سازی‌کننده (implement) بازنویسی شوند. این امر به ما انعطاف بیشتری در طراحی و استفاده از چندریختی می‌دهد.</p>
<p>&nbsp;</p>
<figure id="attachment_2462" aria-describedby="caption-attachment-2462" style="width: 685px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2462 size-full" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-12-1-1.png" alt="چندریختی با اینترفیس‌ها" width="685" height="655" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-12-1-1.png 685w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-12-1-1-300x287.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-12-1-1-600x574.png 600w" sizes="(max-width: 685px) 100vw, 685px" /><figcaption id="caption-attachment-2462" class="wp-caption-text">چندریختی با اینترفیس‌ها</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، اینترفیس <code>Shape</code> تعریف شده و کلاس‌های <code>Circle</code> و <code>Square</code> آن را پیاده‌سازی کرده‌اند. این امر به ما امکان می‌دهد تا از چندریختی برای اشیاء مختلف استفاده کنیم.</p>
<h2></h2>
<h2><strong><span style="color: #d90000;">آموزش چندریختی در دارت</span></strong></h2>
<p>یادگیری مفاهیم چندریختی در دارت برای توسعه‌دهندگان فلاتر اهمیت زیادی دارد. درک صحیح این مفاهیم می‌تواند به توسعه نرم‌افزارهای پایدار و قابل نگهداری کمک کند. دوره فلاتر الماس یکی از منابع آموزشی معتبر است که به آموزش اصول برنامه‌نویسی شی‌گرا و چندریختی در دارت می‌پردازد.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #d90000;">محتوای دوره فلاتر الماس</span></strong></h3>
<p><a href="https://programmingshow.ir/product/diamond-flutter/"><strong>دوره فلاتر الماس</strong></a> به صورت جامع به آموزش فلاتر و دارت می‌پردازد و شامل مباحث متعددی از جمله چندریختی می‌باشد. در این دوره، مفاهیم چندریختی به صورت تئوری و عملی آموزش داده می‌شود و شرکت‌کنندگان با مثال‌های متعددی از دنیای واقعی روبرو می‌شوند.</p>
<p>برخی از مباحثی که در این دوره پوشش داده می‌شوند عبارتند از:</p>
<ul>
<li>معرفی و مبانی برنامه‌نویسی شی‌گرا</li>
<li>تعریف کلاس‌ها و اشیاء</li>
<li>اصول چندریختی و نحوه استفاده از آن</li>
<li>چندریختی با استفاده از وراثت</li>
<li>چندریختی با استفاده از اینترفیس‌ها</li>
<li>مدیریت و بهینه‌سازی اشیاء با استفاده از چندریختی</li>
</ul>
<p>&nbsp;</p>
<h2><span style="color: #d90000;"><strong>مزایای استفاده از چندریختی در دارت</strong></span></h2>
<p>استفاده از چندریختی در دارت دارای مزایای متعددی است که برخی از آن‌ها عبارتند از:</p>
<ul>
<li><strong><span style="color: #d90000;">1. افزایش انعطاف‌پذیری<br />
</span></strong>چندریختی به ما امکان می‌دهد تا از یک اینترفیس مشترک برای اشیاء مختلف استفاده کنیم، که این امر باعث افزایش انعطاف‌پذیری کد می‌شود.</li>
<li><span style="color: #d90000;"><strong>2. کاهش تکرار کد<br />
</strong></span>با استفاده از چندریختی، می‌توانیم از متدهای یکسان برای اشیاء مختلف استفاده کنیم، که این امر باعث کاهش تکرار کد می‌شود.</li>
<li><span style="color: #d90000;"><strong>3. افزایش قابلیت استفاده مجدد<br />
</strong></span>چندریختی به ما امکان می‌دهد تا کدهای خود را به گونه‌ای طراحی کنیم که به راحتی قابل استفاده مجدد باشند.</li>
<li><span style="color: #d90000;"><strong>4. تسهیل در نگهداری کد<br />
</strong></span>با استفاده از چندریختی، می‌توانیم کدهای خود را به گونه‌ای طراحی کنیم که نگهداری و به‌روزرسانی آن‌ها آسان‌تر باشد.</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">مثال‌های عملی از چندریختی در فلاتر</span></strong></h2>
<p>برای درک بهتر چندریختی در دارت، به چند مثال عملی از استفاده آن در پروژه‌های فلاتر می‌پردازیم.</p>
<h3></h3>
<h3><strong><span style="color: #d90000;">مثال 1: ایجاد ویجت‌های سفارشی</span></strong></h3>
<p>در فلاتر، می‌توانیم از چندریختی برای ایجاد ویجت‌های سفارشی استفاده کنیم:</p>
<p>&nbsp;</p>
<figure id="attachment_2464" aria-describedby="caption-attachment-2464" style="width: 737px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2464 size-large" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-13-1-1-737x1024.png" alt="ایجاد ویجت‌های سفارشی" width="737" height="1024" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-13-1-1-737x1024.png 737w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-13-1-1-216x300.png 216w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-13-1-1-768x1067.png 768w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-13-1-1-600x834.png 600w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-13-1-1.png 793w" sizes="(max-width: 737px) 100vw, 737px" /><figcaption id="caption-attachment-2464" class="wp-caption-text">ایجاد ویجت‌های سفارشی</figcaption></figure>
<p>&nbsp;</p>
<h3><strong><span style="color: #d90000;">مثال 2: مدیریت داده‌ها با چندریختی</span></strong></h3>
<p>در برنامه‌های پیچیده، ممکن است نیاز باشد تا داده‌ها را با استفاده از چندریختی مدیریت کنیم. می‌توانیم از چندریختی برای این منظور استفاده کنیم:</p>
<p>&nbsp;</p>
<figure id="attachment_2465" aria-describedby="caption-attachment-2465" style="width: 895px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2465" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-14-1.png" alt="مدیریت داده‌ها با چندریختی" width="895" height="655" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-14-1.png 895w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-14-1-300x220.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-14-1-768x562.png 768w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-14-1-600x439.png 600w" sizes="(max-width: 895px) 100vw, 895px" /><figcaption id="caption-attachment-2465" class="wp-caption-text">مدیریت داده‌ها با چندریختی</figcaption></figure>
<p>&nbsp;</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<h3><strong><span style="color: #d90000;">نتیجه‌گیری</span></strong></h3>
<p>چندریختی یکی از اصول مهم و کاربردی در برنامه‌نویسی شی‌گرا است که در زبان دارت و فلاتر نقش مهمی ایفا می‌کند. با استفاده از چندریختی، توسعه‌دهندگان می‌توانند کدهای انعطاف‌پذیرتر، قابل استفاده مجددتر و قابل نگهداری‌تری بنویسند. دوره فلاتر الماس با ارائه آموزش‌های جامع و کاربردی، یکی از بهترین منابع برای یادگیری این مفاهیم است.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/polymorphism-in-dart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش رایگان زبان دارت &#8211; کلاس سازنده در دارت</title>
		<link>https://programmingshow.ir/constructors-in-dart/</link>
					<comments>https://programmingshow.ir/constructors-in-dart/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Mon, 24 Jun 2024 06:30:45 +0000</pubDate>
				<category><![CDATA[آموزش دارت]]></category>
		<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=1531</guid>

					<description><![CDATA[کلاس سازنده در دارت روشی برای مقداردهی اولیه به اشیاء است. به عبارت دیگر، کلاس سازنده همان متدی است که هنگام ایجاد یک شیء جدید از کلاس فراخوانی می‌شود]]></description>
										<content:encoded><![CDATA[<iframe id='wp-aparat-6a3d78e18bd89' src='https://www.aparat.com/video/video/embed/videohash/gXYNy/vt/frame' width='100%' allowfullscreen='true' class='aparat-frame aparat-full-frame'></iframe>
<p>&nbsp;</p>
<div class="w-full text-token-text-primary" dir="auto" data-testid="conversation-turn-5" data-scroll-anchor="true">
<div class="py-2 juice:py-[18px] px-3 text-base md:px-4 m-auto md:px-5 lg:px-1 xl:px-5">
<div class="mx-auto flex flex-1 gap-3 text-base juice:gap-4 juice:md:gap-5 juice:lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]">
<div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn">
<div class="flex-col gap-1 md:gap-3">
<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-[20px] text-message flex flex-col items-start whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 juice:w-full juice:items-end overflow-x-auto gap-2" dir="auto" data-message-author-role="assistant" data-message-id="facc22af-5612-4ca1-b02b-8a975676dd54">
<div class="flex w-full flex-col gap-1 juice:empty:hidden juice:first:pt-[3px]">
<div class="markdown prose w-full break-words dark:prose-invert light">
<p><a href="https://dart.dev/language/constructors" target="_blank" rel="noopener"><strong>کلاس سازنده (Constructor)</strong></a> یکی از مباحث مهم و پایه‌ای در برنامه‌نویسی شی‌گرا (OOP) است که به ایجاد و مقداردهی اشیاء جدید کمک می‌کند. در <a href="https://dart.dev/" target="_blank" rel="noopener">زبان دارت (Dart)</a>، کلاس سازنده نقش حیاتی در تعریف و مقداردهی اولیه به اشیاء ایفا می‌کند. این مقاله به بررسی مفاهیم مرتبط با کلاس سازنده در دارت پرداخته و نحوه استفاده از آن را توضیح می‌دهد. همچنین به معرفی دوره فلاتر الماس که به آموزش این مفاهیم می‌پردازد، اشاره خواهیم کرد.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">کلاس سازنده در دارت</span></strong></h2>
<p>کلاس سازنده در دارت روشی برای مقداردهی اولیه به اشیاء است. به عبارت دیگر، کلاس سازنده همان متدی است که هنگام ایجاد یک شیء جدید از کلاس فراخوانی می‌شود و به آن مقادیر اولیه را تخصیص می‌دهد. در دارت، چند نوع کلاس سازنده وجود دارد که در ادامه به بررسی آن‌ها می‌پردازیم.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #d90000;">کلاس سازنده پیش‌فرض</span></strong></h3>
<p>اگر هیچ کلاس سازنده‌ای تعریف نشود، دارت یک کلاس سازنده پیش‌فرض بدون هیچ پارامتری برای کلاس ایجاد می‌کند. اما برای تعیین مقادیر اولیه، می‌توانیم کلاس سازنده سفارشی ایجاد کنیم.</p>
<p>&nbsp;</p>
<h3><span style="color: #d90000;"><strong>کلاس سازنده سفارشی</strong></span></h3>
<p>کلاس سازنده سفارشی به توسعه‌دهندگان امکان می‌دهد تا پارامترهایی را برای مقداردهی اولیه به شیء تعیین کنند. مثال زیر یک کلاس سازنده سفارشی را نشان می‌دهد:</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-2447" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-5-1-1.png" alt="" width="679" height="413" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-5-1-1.png 679w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-5-1-1-300x182.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-5-1-1-600x365.png 600w" sizes="(max-width: 679px) 100vw, 679px" /></p>
<p>&nbsp;</p>
<div class="w-full text-token-text-primary" dir="auto" data-testid="conversation-turn-5" data-scroll-anchor="true">
<div class="py-2 juice:py-[18px] px-3 text-base md:px-4 m-auto md:px-5 lg:px-1 xl:px-5">
<div class="mx-auto flex flex-1 gap-3 text-base juice:gap-4 juice:md:gap-5 juice:lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]">
<div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn">
<div class="flex-col gap-1 md:gap-3">
<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-[20px] text-message flex flex-col items-start whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 juice:w-full juice:items-end overflow-x-auto gap-2" dir="auto" data-message-author-role="assistant" data-message-id="facc22af-5612-4ca1-b02b-8a975676dd54">
<div class="flex w-full flex-col gap-1 juice:empty:hidden juice:first:pt-[3px]">
<div class="markdown prose w-full break-words dark:prose-invert light">
<p>&nbsp;</p>
<p>در این مثال، کلاس <code style="font-size: 16px;">Person</code> دارای یک کلاس سازنده سفارشی است که نام و سن شخص را مقداردهی اولیه می‌کند.</p>
</div>
</div>
</div>
</div>
</div>
<div class="flex-col gap-1 md:gap-3">
<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-[20px] text-message flex flex-col items-start whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 juice:w-full juice:items-end overflow-x-auto gap-2" dir="auto" data-message-author-role="assistant" data-message-id="facc22af-5612-4ca1-b02b-8a975676dd54">
<div class="flex w-full flex-col gap-1 juice:empty:hidden juice:first:pt-[3px]">
<div class="markdown prose w-full break-words dark:prose-invert light">
<h3><strong><span style="color: #d90000;">کلاس سازنده نام‌گذاری شده</span></strong></h3>
<p>گاهی اوقات نیاز است چندین کلاس سازنده برای یک کلاس داشته باشیم. در این مواقع می‌توانیم از کلاس‌های سازنده نام‌گذاری شده استفاده کنیم. این نوع کلاس سازنده به ما اجازه می‌دهد که چندین روش برای ایجاد اشیاء از یک کلاس تعریف کنیم.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<figure id="attachment_2451" aria-describedby="caption-attachment-2451" style="width: 761px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2451" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-7-1-1.png" alt="کلاس سازنده نام‌گذاری شده" width="761" height="506" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-7-1-1.png 761w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-7-1-1-300x199.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-7-1-1-600x399.png 600w" sizes="(max-width: 761px) 100vw, 761px" /><figcaption id="caption-attachment-2451" class="wp-caption-text">کلاس سازنده نام‌گذاری شده</figcaption></figure>
<p>&nbsp;</p>
<div class="w-full text-token-text-primary" dir="auto" data-testid="conversation-turn-5" data-scroll-anchor="true">
<div class="py-2 juice:py-[18px] px-3 text-base md:px-4 m-auto md:px-5 lg:px-1 xl:px-5">
<div class="mx-auto flex flex-1 gap-3 text-base juice:gap-4 juice:md:gap-5 juice:lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]">
<div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn">
<div class="flex-col gap-1 md:gap-3">
<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-[20px] text-message flex flex-col items-start whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 juice:w-full juice:items-end overflow-x-auto gap-2" dir="auto" data-message-author-role="assistant" data-message-id="facc22af-5612-4ca1-b02b-8a975676dd54">
<div class="flex w-full flex-col gap-1 juice:empty:hidden juice:first:pt-[3px]">
<div class="markdown prose w-full break-words dark:prose-invert light">
<p>در این مثال، کلاس <code>Person</code> دارای دو کلاس سازنده است: یکی پیش‌فرض و دیگری نام‌گذاری شده.</p>
<h3><strong><span style="color: #d90000;">کلاس سازنده فکتوری</span></strong></h3>
<p>کلاس سازنده فکتوری در دارت به ما اجازه می‌دهد که منطق پیچیده‌تری برای ایجاد اشیاء داشته باشیم. این نوع کلاس سازنده می‌تواند اشیاء را بر اساس شرایط مختلف ایجاد یا مدیریت کند.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<figure id="attachment_2452" aria-describedby="caption-attachment-2452" style="width: 765px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2452" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-8-1-1.png" alt="کلاس سازنده فکتوری" width="765" height="506" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-8-1-1.png 765w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-8-1-1-300x198.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-8-1-1-600x397.png 600w" sizes="(max-width: 765px) 100vw, 765px" /><figcaption id="caption-attachment-2452" class="wp-caption-text">کلاس سازنده فکتوری</figcaption></figure>
<div class="w-full text-token-text-primary" dir="auto" data-testid="conversation-turn-5" data-scroll-anchor="true">
<div class="py-2 juice:py-[18px] px-3 text-base md:px-4 m-auto md:px-5 lg:px-1 xl:px-5">
<div class="mx-auto flex flex-1 gap-3 text-base juice:gap-4 juice:md:gap-5 juice:lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]">
<div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn">
<div class="flex-col gap-1 md:gap-3">
<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-[20px] text-message flex flex-col items-start whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 juice:w-full juice:items-end overflow-x-auto gap-2" dir="auto" data-message-author-role="assistant" data-message-id="facc22af-5612-4ca1-b02b-8a975676dd54">
<div class="flex w-full flex-col gap-1 juice:empty:hidden juice:first:pt-[3px]">
<div class="markdown prose w-full break-words dark:prose-invert light">
<p>&nbsp;</p>
<p>در این مثال، کلاس <code>Singleton</code> از یک کلاس سازنده فکتوری استفاده می‌کند تا همیشه یک نمونه یکسان از کلاس را برگرداند.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">آموزش کلاس سازنده در دارت</span></strong></h2>
<p>یادگیری مفاهیم کلاس سازنده در دارت برای توسعه‌دهندگان فلاتر اهمیت زیادی دارد. درک صحیح این مفاهیم می‌تواند به توسعه نرم‌افزارهای پایدار و قابل نگهداری کمک کند. دوره فلاتر الماس یکی از منابع آموزشی معتبر است که به آموزش اصول ب<a href="https://dart-tutorial.com/object-oriented-programming/" target="_blank" rel="noopener">رنامه‌نویسی شی‌گرا</a> و کلاس‌های سازنده در دارت می‌پردازد.</p>
<p>&nbsp;</p>
<h3><span style="color: #d90000;"><strong>محتوای دوره فلاتر الماس</strong></span></h3>
<p><a href="https://programmingshow.ir/product/diamond-flutter/"><strong>دوره فلاتر الماس</strong></a> به صورت جامع به آموزش فلاتر و دارت می‌پردازد و شامل مباحث متعددی از جمله کلاس سازنده می‌باشد. در این دوره، مفاهیم کلاس سازنده به صورت تئوری و عملی آموزش داده می‌شود و شرکت‌کنندگان با مثال‌های متعددی از دنیای واقعی روبرو می‌شوند.</p>
<p>برخی از مباحثی که در این دوره پوشش داده می‌شوند عبارتند از:</p>
<ul>
<li>معرفی و مبانی برنامه‌نویسی شی‌گرا</li>
<li>تعریف کلاس‌ها و اشیاء</li>
<li>اصول کلاس سازنده و نحوه استفاده از آن</li>
<li>کلاس‌های سازنده نام‌گذاری شده و فکتوری</li>
<li>مدیریت و بهینه‌سازی اشیاء با استفاده از کلاس‌های سازنده</li>
</ul>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">مزایای استفاده از کلاس سازنده در دارت</span></strong></h2>
<p>استفاده از کلاس سازنده در دارت دارای مزایای متعددی است که برخی از آن‌ها عبارتند از:</p>
<h3><span style="color: #d90000;"><strong>1. مقداردهی اولیه به اشیاء</strong></span></h3>
<p>کلاس سازنده به ما امکان می‌دهد تا مقادیر اولیه را به اشیاء تخصیص دهیم، که این امر به ایجاد اشیاء با وضعیت مشخص کمک می‌کند.</p>
<h3><span style="color: #d90000;"><strong>2. تسهیل در ایجاد اشیاء پیچیده</strong></span></h3>
<p>با استفاده از کلاس‌های سازنده نام‌گذاری شده و فکتوری، می‌توانیم اشیاء پیچیده‌تری را با منطق‌های مختلف ایجاد کنیم.</p>
<h3><span style="color: #d90000;"><strong>3. افزایش خوانایی و نگهداری کد</strong></span></h3>
<p>کلاس سازنده می‌تواند کد را خواناتر و قابل نگهداری‌تر کند، زیرا مقداردهی اولیه و منطق ایجاد اشیاء در یک مکان متمرکز شده است.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">مثال‌های عملی از کلاس سازنده در فلاتر</span></strong></h2>
<p>برای درک بهتر کلاس سازنده در دارت، به چند مثال عملی از استفاده آن در پروژه‌های فلاتر می‌پردازیم.</p>
<h3><span style="color: #d90000;"><strong>مثال 1: ایجاد ویجت‌های سفارشی</strong></span></h3>
<p>در فلاتر، می‌توانیم ویجت‌های سفارشی با کلاس سازنده ایجاد کنیم:</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<figure id="attachment_2454" aria-describedby="caption-attachment-2454" style="width: 761px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2454" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-9-1-1.png" alt="ایجاد ویجت‌های سفارشی" width="761" height="730" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-9-1-1.png 761w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-9-1-1-300x288.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-9-1-1-600x576.png 600w" sizes="(max-width: 761px) 100vw, 761px" /><figcaption id="caption-attachment-2454" class="wp-caption-text">ایجاد ویجت‌های سفارشی</figcaption></figure>
<p>&nbsp;</p>
<div class="w-full text-token-text-primary" dir="auto" data-testid="conversation-turn-5" data-scroll-anchor="true">
<div class="py-2 juice:py-[18px] px-3 text-base md:px-4 m-auto md:px-5 lg:px-1 xl:px-5">
<div class="mx-auto flex flex-1 gap-3 text-base juice:gap-4 juice:md:gap-5 juice:lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]">
<div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn">
<div class="flex-col gap-1 md:gap-3">
<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-[20px] text-message flex flex-col items-start whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 juice:w-full juice:items-end overflow-x-auto gap-2" dir="auto" data-message-author-role="assistant" data-message-id="facc22af-5612-4ca1-b02b-8a975676dd54">
<div class="flex w-full flex-col gap-1 juice:empty:hidden juice:first:pt-[3px]">
<div class="markdown prose w-full break-words dark:prose-invert light">
<h3><span style="color: #d90000;">مثال 2: مدیریت وضعیت با کلاس سازنده فکتوری</span></h3>
<p>در برنامه‌های پیچیده، ممکن است نیاز باشد تا وضعیت اشیاء را مدیریت کنیم. می‌توانیم از کلاس سازنده فکتوری برای این منظور استفاده کنیم:</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<figure id="attachment_2456" aria-describedby="caption-attachment-2456" style="width: 699px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2456" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-10-1-1.png" alt="مدیریت وضعیت با کلاس سازنده فکتوری" width="699" height="618" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-10-1-1.png 699w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-10-1-1-300x265.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-10-1-1-600x530.png 600w" sizes="(max-width: 699px) 100vw, 699px" /><figcaption id="caption-attachment-2456" class="wp-caption-text">مدیریت وضعیت با کلاس سازنده فکتوری</figcaption></figure>
<p>&nbsp;</p>
<div class="w-full text-token-text-primary" dir="auto" data-testid="conversation-turn-5" data-scroll-anchor="true">
<div class="py-2 juice:py-[18px] px-3 text-base md:px-4 m-auto md:px-5 lg:px-1 xl:px-5">
<div class="mx-auto flex flex-1 gap-3 text-base juice:gap-4 juice:md:gap-5 juice:lg:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]">
<div class="group/conversation-turn relative flex w-full min-w-0 flex-col agent-turn">
<div class="flex-col gap-1 md:gap-3">
<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-[20px] text-message flex flex-col items-start whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 juice:w-full juice:items-end overflow-x-auto gap-2" dir="auto" data-message-author-role="assistant" data-message-id="facc22af-5612-4ca1-b02b-8a975676dd54">
<div class="flex w-full flex-col gap-1 juice:empty:hidden juice:first:pt-[3px]">
<div class="markdown prose w-full break-words dark:prose-invert light">
<h3><span style="color: #d90000;"><strong>نتیجه‌گیری</strong></span></h3>
<p>کلاس سازنده یکی از اصول مهم و کاربردی در برنامه‌نویسی شی‌گرا است که در زبان دارت و فلاتر نقش مهمی ایفا می‌کند. با استفاده از کلاس سازنده، توسعه‌دهندگان می‌توانند اشیاء را به صورت مشخص و با مقادیر اولیه دلخواه ایجاد کنند. دوره فلاتر الماس با ارائه آموزش‌های جامع و کاربردی، یکی از بهترین منابع برای یادگیری این مفاهیم است. با تسلط بر اصول کلاس سازنده در دارت، می‌توانید پروژه‌های فلاتر خود را به سطح بالاتری از کیفیت و کارایی برسانید.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/constructors-in-dart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش زبان برنامه نویسی دارت &#8211; مفهوم ارث بری در دارت</title>
		<link>https://programmingshow.ir/inheritance-in-dart/</link>
					<comments>https://programmingshow.ir/inheritance-in-dart/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Sat, 22 Jun 2024 06:30:13 +0000</pubDate>
				<category><![CDATA[آموزش دارت]]></category>
		<category><![CDATA[آموزش رایگان]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=1530</guid>

					<description><![CDATA[در زبان دارت، ارث بری به توسعه‌دهندگان اجازه می‌دهد تا کلاس‌های جدیدی را از کلاس‌های موجود ایجاد کنند و اعضای آن‌ها (متدها و متغیرها) را به ارث ببرند.]]></description>
										<content:encoded><![CDATA[<iframe id='wp-aparat-6a3d78e18c652' src='https://www.aparat.com/video/video/embed/videohash/0lA3O/vt/frame' width='100%' allowfullscreen='true' class='aparat-frame aparat-full-frame'></iframe>
<p>&nbsp;</p>
<h2><span style="color: #e00000;"><strong>ارث بری در دارت</strong></span></h2>
<p><strong><a href="https://www.geeksforgeeks.org/dart-concept-of-inheritance/" target="_blank" rel="noopener">ارث بری</a></strong> یکی از اصول بنیادی برنامه‌نویسی شی‌گرا (OOP) است که به توسعه‌دهندگان امکان می‌دهد تا کلاس‌های جدیدی را از کلاس‌های موجود ایجاد کنند. این اصل به کاهش تکرار کد، افزایش قابلیت استفاده مجدد و تسهیل در نگهداری نرم‌افزار کمک می‌کند. در این مقاله، به بررسی مفهوم ارث بری در <a href="https://dart.dev/" target="_blank" rel="noopener">زبان دارت (Dart)</a> پرداخته و نحوه استفاده از آن را در پروژه‌های فلاتر (Flutter) توضیح خواهیم داد. همچنین به بررسی دوره فلاتر الماس که به آموزش این مفاهیم می‌پردازد، خواهیم پرداخت.</p>
<p>&nbsp;</p>
<h2><span style="color: #e00000;"><strong>شی‌گرایی و اصول آن</strong></span></h2>
<p>شی‌گرایی یک روش برنامه‌نویسی است که بر اساس مفاهیم <a href="https://www.geeksforgeeks.org/dart-classes-and-objects/#:~:text=Dart%20is%20an%20object%2Doriented,features%20like%20classes%20and%20interfaces." target="_blank" rel="noopener">اشیاء (Objects)</a> و <a href="https://dart.dev/language/classes" target="_blank" rel="noopener">کلاس‌ها (Classes)</a> بنا شده است. اصول چهارگانه شی‌گرایی شامل موارد زیر است:</p>
<ol>
<li><span style="color: #e00000;"><strong>کپسوله‌سازی (Encapsulation)</strong></span>: پنهان‌سازی جزئیات پیاده‌سازی و نمایش فقط آنچه برای استفاده از کلاس لازم است.</li>
<li><span style="color: #e00000;"><strong>وراثت (Inheritance)</strong></span>: ایجاد کلاس‌های جدید از کلاس‌های موجود برای به ارث بردن ویژگی‌ها و رفتارها.</li>
<li><span style="color: #e00000;"><strong>چندریختی (Polymorphism)</strong></span>: امکان استفاده از یک تابع یا عملگر به چندین شکل مختلف.</li>
<li><span style="color: #e00000;"><strong>ترکیب (Composition)</strong></span>: استفاده از اشیاء موجود به عنوان اعضای یک شیء جدید به جای ارث بری از آن‌ها.</li>
</ol>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #e00000;">ارث بری در دارت</span></strong></h2>
<p>در زبان دارت، ارث بری به توسعه‌دهندگان اجازه می‌دهد تا کلاس‌های جدیدی را از کلاس‌های موجود ایجاد کنند و اعضای آن‌ها (متدها و متغیرها) را به ارث ببرند. برای تعریف یک کلاس فرزند، از کلمه کلیدی <strong><code>extends</code></strong> استفاده می‌شود. در ادامه یک مثال ساده از ارث بری در دارت را مشاهده می‌کنیم:</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<p>&nbsp;</p>
<figure id="attachment_2440" aria-describedby="caption-attachment-2440" style="width: 665px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2440" src="https://programmingshow.ir/wp-content/uploads/2024/05/carbon-2.png" alt="ارث بری در دارت" width="665" height="487" srcset="https://programmingshow.ir/wp-content/uploads/2024/05/carbon-2.png 665w, https://programmingshow.ir/wp-content/uploads/2024/05/carbon-2-300x220.png 300w, https://programmingshow.ir/wp-content/uploads/2024/05/carbon-2-600x439.png 600w" sizes="(max-width: 665px) 100vw, 665px" /><figcaption id="caption-attachment-2440" class="wp-caption-text">ارث بری در دارت</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، کلاس <code>Dog</code> از کلاس <code>Animal</code> ارث بری کرده است. به این ترتیب، شیء <code>myDog</code> می‌تواند هم متد <code>eat</code> و هم متد <code>bark</code> را فراخوانی کند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #e00000;">آموزش ارث بری در دارت</span></strong></h2>
<p>یادگیری مفاهیم ارث بری در دارت برای توسعه‌دهندگان فلاتر بسیار اهمیت دارد. درک درست این مفاهیم می‌تواند به توسعه نرم‌افزارهای پیچیده و کارآمد کمک کند. دوره فلاتر الماس یکی از منابع آموزشی معتبر است که به آموزش اصول برنامه‌نویسی شی‌گرا و ارث بری در دارت می‌پردازد.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #e00000;">محتوای دوره فلاتر الماس</span></strong></h3>
<p><strong><a href="https://programmingshow.ir/product/diamond-flutter/">دوره فلاتر الماس</a></strong> به صورت جامع به آموزش فلاتر و دارت می‌پردازد و شامل مباحث متعددی از جمله ارث بری می‌باشد. در این دوره، مفاهیم ارث بری به صورت تئوری و عملی آموزش داده می‌شود و شرکت‌کنندگان با مثال‌های متعددی از دنیای واقعی روبرو می‌شوند.</p>
<p>برخی از مباحثی که در این دوره پوشش داده می‌شوند عبارتند از:</p>
<ul>
<li>معرفی و مبانی برنامه‌نویسی شی‌گرا</li>
<li>تعریف کلاس‌ها و اشیاء</li>
<li>اصول ارث بری و نحوه استفاده از آن</li>
<li>ارث بری چندگانه و مشکلات آن</li>
<li>روش‌های جلوگیری از ارث بری نامناسب</li>
</ul>
<p>&nbsp;</p>
<figure id="attachment_1859" aria-describedby="caption-attachment-1859" style="width: 192px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-1859" src="https://programmingshow.ir/wp-content/uploads/2023/10/dart-192.png" alt="لوگو زبان برنامه نویسی دارت" width="192" height="192" /><figcaption id="caption-attachment-1859" class="wp-caption-text">زبان برنامه نویسی دارت</figcaption></figure>
<p>&nbsp;</p>
<h2><span style="color: #e00000;">مزایای استفاده از ارث بری در دارت</span></h2>
<p>استفاده از ارث بری در دارت دارای مزایای متعددی است که برخی از آن‌ها عبارتند از:</p>
<h3><strong><span style="color: #e00000;">1. کاهش تکرار کد</span></strong></h3>
<p>با استفاده از ارث بری، می‌توان ویژگی‌ها و رفتارهای مشترک را در یک کلاس پایه تعریف کرد و کلاس‌های فرزند می‌توانند بدون نیاز به تکرار کد، این ویژگی‌ها و رفتارها را به ارث ببرند.</p>
<h3><strong><span style="color: #e00000;">2. افزایش قابلیت استفاده مجدد</span></strong></h3>
<p>کلاس‌های پایه می‌توانند در پروژه‌های مختلف مورد استفاده قرار گیرند و کلاس‌های جدیدی بر اساس آن‌ها ایجاد شوند، بدون نیاز به بازنویسی کد.</p>
<h3><span style="color: #e00000;"><strong>3. تسهیل نگهداری نرم‌افزار</strong></span></h3>
<p>با استفاده از ارث بری، تغییرات در کلاس پایه به طور خودکار در کلاس‌های فرزند منعکس می‌شود، که این امر باعث کاهش هزینه‌های نگهداری و به‌روزرسانی نرم‌افزار می‌شود.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #e00000;">مثال‌های عملی از ارث بری در فلاتر</span></strong></h2>
<p>برای درک بهتر ارث بری در دارت، به چند مثال عملی از استفاده آن در پروژه‌های فلاتر می‌پردازیم.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #e00000;">مثال 1: ایجاد کلاس‌های ویجت سفارشی</span></strong></h3>
<p>در فلاتر، بسیاری از ویجت‌ها می‌توانند با استفاده از ارث بری سفارشی‌سازی شوند. به عنوان مثال، می‌توان یک ویجت دکمه سفارشی ایجاد کرد:</p>
<p>&nbsp;</p>
<figure id="attachment_2441" aria-describedby="caption-attachment-2441" style="width: 769px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2441" src="https://programmingshow.ir/wp-content/uploads/2024/05/carbon-1-1.png" alt="ایجاد کلاس‌های ویجت سفارشی" width="769" height="730" srcset="https://programmingshow.ir/wp-content/uploads/2024/05/carbon-1-1.png 769w, https://programmingshow.ir/wp-content/uploads/2024/05/carbon-1-1-300x285.png 300w, https://programmingshow.ir/wp-content/uploads/2024/05/carbon-1-1-600x570.png 600w" sizes="(max-width: 769px) 100vw, 769px" /><figcaption id="caption-attachment-2441" class="wp-caption-text">ایجاد کلاس‌های ویجت سفارشی</figcaption></figure>
<p>&nbsp;</p>
<h3><strong><span style="color: #e00000;">مثال 2: ارث بری از کلاس‌های مدل داده</span></strong></h3>
<p>در برنامه‌های پیچیده، ممکن است نیاز باشد تا مدل‌های داده با استفاده از ارث بری توسعه داده شوند. به عنوان مثال، می‌توان یک مدل پایه کاربر ایجاد کرده و مدل‌های خاص‌تری از آن به ارث برد:</p>
<p>&nbsp;</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium">
<figure id="attachment_2449" aria-describedby="caption-attachment-2449" style="width: 881px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2449" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-6-1-1.png" alt="ارث بری از کلاس‌های مدل داده" width="881" height="506" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-6-1-1.png 881w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-6-1-1-300x172.png 300w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-6-1-1-768x441.png 768w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-6-1-1-600x345.png 600w" sizes="(max-width: 881px) 100vw, 881px" /><figcaption id="caption-attachment-2449" class="wp-caption-text">ارث بری از کلاس‌های مدل داده</figcaption></figure>
</div>
<p>&nbsp;</p>
<h3><strong><span style="color: #e00000;">نتیجه‌گیری</span></strong></h3>
<p>ارث بری یکی از اصول مهم و کاربردی در برنامه‌نویسی شی‌گرا است که در زبان دارت و فلاتر نیز نقش مهمی ایفا می‌کند. با استفاده از ارث بری، توسعه‌دهندگان می‌توانند کدهای تمیزتر، قابل نگهداری‌تر و با قابلیت استفاده مجدد بیشتری بنویسند. دوره فلاتر الماس با ارائه آموزش‌های جامع و کاربردی، یکی از بهترین منابع برای یادگیری این مفاهیم است. با تسلط بر اصول ارث بری در دارت، می‌توانید پروژه‌های فلاتر خود را به سطح بالاتری از کیفیت و کارایی برسانید.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/inheritance-in-dart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش نصب فلاتر به زبان فارسی &#124; آموزش نصب Flutter</title>
		<link>https://programmingshow.ir/install-flutter-farsi/</link>
					<comments>https://programmingshow.ir/install-flutter-farsi/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Tue, 18 Jun 2024 06:30:33 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<category><![CDATA[نصب ابزارهای فلاتر]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=729</guid>

					<description><![CDATA[فلاتر، فریم‌ورک توسعه‌یافته توسط گوگل، به توسعه‌دهندگان این امکان را می‌دهد که برنامه‌های موبایل زیبا و کارآمدی برای اندروید و iOS ایجاد کنند]]></description>
										<content:encoded><![CDATA[<h2><strong><span style="color: #e80000;">آموزش نصب فلاتر در ویندوز</span></strong></h2>
<p>فلاتر، فریم‌ورک توسعه‌یافته توسط گوگل، به توسعه‌دهندگان این امکان را می‌دهد که برنامه‌های موبایل زیبا و کارآمدی برای اندروید و iOS ایجاد کنند. نصب و راه‌اندازی صحیح فلاتر اولین قدم برای شروع توسعه با این فریم‌ورک قدرتمند است. در این مقاله، به صورت گام‌به‌گام به شما آموزش می‌دهیم چگونه فلاتر را در ویندوز نصب کنید و محیط توسعه خود را برای شروع کار با فلاتر پیکربندی کنید.</p>
<p>&nbsp;</p>
<figure id="attachment_1808" aria-describedby="caption-attachment-1808" style="width: 480px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-1808" src="https://programmingshow.ir/wp-content/uploads/2024/05/flutter.webp" alt="flutter logo" width="480" height="480" /><figcaption id="caption-attachment-1808" class="wp-caption-text">flutter logo</figcaption></figure>
<p>&nbsp;</p>
<h3><strong><span style="color: #e80000;">پیش‌نیازها</span></strong></h3>
<p>قبل از شروع نصب فلاتر، مطمئن شوید که سیستم شما با پیش‌نیازهای زیر سازگار است:</p>
<ul>
<li>سیستم عامل ویندوز (ترجیحاً ویندوز 10)</li>
<li>دسترسی به اینترنت برای دانلود فایل‌ها و ابزارهای مورد نیاز</li>
<li>حداقل 2 گیگابایت فضای خالی در دیسک</li>
</ul>
<p>&nbsp;</p>
<h3><span style="color: #e80000;"><strong>مرحله 1: دانلود فلاتر</strong></span></h3>
<ol>
<li><strong>مرورگر وب خود را باز کنید</strong> و به وب‌سایت رسمی فلاتر به نشانی <a href="https://flutter.dev" target="_new" rel="noreferrer noopener">flutter.dev</a> بروید.</li>
<li><strong>در منوی بالا</strong>، روی گزینه &#8220;Get Started&#8221; کلیک کنید.</li>
<li><strong>در صفحه جدید</strong>، سیستم‌عامل ویندوز را انتخاب کنید.</li>
<li><strong>لینک دانلود فلاتر برای ویندوز</strong> را پیدا کرده و روی آن کلیک کنید تا فایل فشرده (<code>.zip</code>) دانلود شود.</li>
</ol>
<p>&nbsp;</p>
<h3><span style="color: #e80000;"><strong>مرحله 2: استخراج فایل‌ها</strong></span></h3>
<ol>
<li><strong>پس از دانلود</strong>، به پوشه‌ای که فایل فشرده فلاتر در آن قرار دارد بروید.</li>
<li><strong>روی فایل فشرده راست کلیک کنید</strong> و گزینه &#8220;Extract All&#8221; را انتخاب کنید.</li>
<li><strong>مسیر مورد نظر</strong> برای استخراج فایل‌ها را انتخاب کنید. پیشنهاد می‌شود که فایل‌ها را در مسیری مانند <code>C:\flutter</code> استخراج کنید تا دسترسی به آنها آسان باشد.</li>
</ol>
<p>&nbsp;</p>
<h3><strong><span style="color: #e80000;">مرحله 3: تنظیم مسیرهای محیطی</span></strong></h3>
<p>برای اینکه بتوانید از دستورات فلاتر در خط فرمان استفاده کنید، باید مسیر فلاتر را به متغیرهای محیطی سیستم اضافه کنید.</p>
<ol>
<li><strong>در منوی استارت</strong>، &#8220;Environment Variables&#8221; را جستجو کنید و گزینه &#8220;Edit the system environment variables&#8221; را انتخاب کنید.</li>
<li><strong>در پنجره باز شده</strong>، روی دکمه &#8220;Environment Variables&#8221; کلیک کنید.</li>
<li><strong>در بخش System Variables</strong>، متغیر &#8220;Path&#8221; را پیدا کرده و روی &#8220;Edit&#8221; کلیک کنید.</li>
<li><strong>در پنجره جدید</strong>، روی &#8220;New&#8221; کلیک کنید و مسیر نصب فلاتر (<code>C:\flutter\bin</code>) را وارد کنید.</li>
<li><strong>روی &#8220;OK&#8221; کلیک کنید</strong> تا تغییرات ذخیره شوند و تمامی پنجره‌ها را ببندید.</li>
</ol>
<p>&nbsp;</p>
<h3><strong><span style="color: #e80000;">مرحله 4: نصب ابزارهای مورد نیاز</span></strong></h3>
<h4><strong><span style="color: #e80000;">نصب Git</span></strong></h4>
<p>فلاتر برای مدیریت پروژه‌ها به Git نیاز دارد. برای نصب Git:</p>
<ol>
<li><strong>مرورگر وب خود را باز کنید</strong> و به وب‌سایت <a href="https://git-scm.com" target="_new" rel="noreferrer noopener">git-scm.com</a> بروید.</li>
<li><strong>روی دکمه &#8220;Download&#8221; کلیک کنید</strong> و فایل نصبی Git را دانلود کنید.</li>
<li><strong>فایل نصبی را اجرا کنید</strong> و مراحل نصب را دنبال کنید. تنظیمات پیش‌فرض کافی هستند.</li>
</ol>
<p>&nbsp;</p>
<h4><strong><span style="color: #e80000;">نصب Android Studio</span></strong></h4>
<p>برای توسعه اپلیکیشن‌های اندروید، نیاز است که Android Studio را نصب کنید.</p>
<ol>
<li><strong>مرورگر وب خود را باز کنید</strong> و به وب‌سایت <a href="https://developer.android.com/studio" target="_new" rel="noreferrer noopener">developer.android.com/studio</a> بروید.</li>
<li><strong>روی دکمه &#8220;Download Android Studio&#8221; کلیک کنید</strong> و فایل نصبی را دانلود کنید.</li>
<li><strong>فایل نصبی را اجرا کنید</strong> و مراحل نصب را دنبال کنید. پس از نصب، Android Studio را باز کنید و دستورالعمل‌ها برای نصب Android SDK و ابزارهای مرتبط را دنبال کنید.</li>
</ol>
<p>&nbsp;</p>
<h3><span style="color: #e80000;"><strong>مرحله 5: بررسی نصب فلاتر</strong></span></h3>
<p>برای اطمینان از اینکه فلاتر به درستی نصب شده است، می‌توانید از دستور <code>flutter doctor</code> استفاده کنید.</p>
<ol>
<li><strong>یک پنجره خط فرمان (Command Prompt)</strong> باز کنید.</li>
<li><strong>دستور <code>flutter doctor</code> را تایپ کنید</strong> و Enter را بزنید.</li>
<li><strong>این دستور</strong> سیستم شما را بررسی می‌کند و گزارش کاملی از وضعیت نصب فلاتر و ابزارهای مرتبط (مانند Android Studio) ارائه می‌دهد. اگر مشکلی وجود داشته باشد، <code>flutter doctor</code> راهنمایی‌هایی برای رفع آن ارائه می‌دهد.</li>
</ol>
<p>&nbsp;</p>
<h3><strong><span style="color: #e80000;">پیکربندی Android Studio برای فلاتر</span></strong></h3>
<p>پس از نصب Android Studio، نیاز است که پلاگین فلاتر را نصب کنید.</p>
<ol>
<li><strong>Android Studio را باز کنید</strong> و به مسیر <code>File &gt; Settings &gt; Plugins</code> بروید.</li>
<li><strong>در پنجره باز شده</strong>، زبانه &#8220;Marketplace&#8221; را انتخاب کنید.</li>
<li><strong>در کادر جستجو</strong>، &#8220;Flutter&#8221; را تایپ کنید و پلاگین فلاتر را نصب کنید.</li>
<li><strong>پس از نصب پلاگین فلاتر</strong>، پیامی برای نصب پلاگین Dart نیز نمایش داده می‌شود. این پلاگین را نیز نصب کنید.</li>
<li><strong>پس از نصب پلاگین‌ها</strong>، Android Studio را مجدداً راه‌اندازی کنید.</li>
</ol>
<p>&nbsp;</p>
<h3><span style="color: #e80000;"><strong>ایجاد اولین پروژه فلاتر</strong></span></h3>
<p>حالا که فلاتر و ابزارهای مورد نیاز نصب و پیکربندی شده‌اند، می‌توانید اولین پروژه فلاتر خود را ایجاد کنید.</p>
<ol>
<li><strong>Android Studio را باز کنید</strong> و روی &#8220;Start a new Flutter project&#8221; کلیک کنید.</li>
<li><strong>گزینه &#8220;Flutter Application&#8221; را انتخاب کنید</strong> و روی &#8220;Next&#8221; کلیک کنید.</li>
<li><strong>نام پروژه، مسیر ذخیره‌سازی، و مسیر نصب فلاتر</strong> را وارد کنید و روی &#8220;Finish&#8221; کلیک کنید.</li>
<li><strong>Android Studio</strong> یک پروژه جدید ایجاد می‌کند و شما می‌توانید شروع به توسعه اولین اپلیکیشن فلاتر خود کنید.</li>
</ol>
<p>&nbsp;</p>
<h3><strong><span style="color: #e80000;">نتیجه‌گیری</span></strong></h3>
<p>نصب و پیکربندی فلاتر در ویندوز یک فرآیند چند مرحله‌ای است که شامل دانلود و نصب فلاتر، تنظیم مسیرهای محیطی، نصب ابزارهای مورد نیاز و پیکربندی Android Studio می‌باشد. با دنبال کردن این راهنما، شما می‌توانید به راحتی فلاتر را نصب کرده و اولین پروژه خود را ایجاد کنید. یادگیری فلاتر می‌تواند شما را به یک توسعه‌دهنده موبایل قدرتمند تبدیل کند و دوره‌های آموزشی مانند &#8220;<span style="color: #e80000;"><strong><a style="color: #e80000;" href="https://programmingshow.ir/product/diamond-flutter/">دوره فلاتر الماس</a></strong></span>&#8221; می‌توانند به شما در این مسیر کمک کنند.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/install-flutter-farsi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش نصب JDK در ویندوز &#124; نصب Java Development Kit</title>
		<link>https://programmingshow.ir/install-jdk/</link>
					<comments>https://programmingshow.ir/install-jdk/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Sun, 16 Jun 2024 06:30:22 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<category><![CDATA[نصب ابزارهای فلاتر]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=728</guid>

					<description><![CDATA[برای توسعه و اجرای پروژه‌های فلاتر، به نصب و پیکربندی محیط‌های مختلف نیاز دارید. یکی از این محیط‌ها، Java Development Kit (JDK) است]]></description>
										<content:encoded><![CDATA[<div class="flex flex-grow flex-col max-w-full">
<div class="min-h-[20px] text-message flex flex-col items-start whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 juice:w-full juice:items-end overflow-x-auto gap-2" dir="auto" data-message-author-role="assistant" data-message-id="ced06f56-ac5e-4391-9ddd-27da6aaa271e">
<div class="flex w-full flex-col gap-1 juice:empty:hidden juice:first:pt-[3px]">
<div class="markdown prose w-full break-words dark:prose-invert light">
<h2><strong><span style="color: #d10000;">آموزش نصب JDK در ویندوز</span></strong></h2>
<p>فلاتر یکی از محبوب‌ترین فریم‌ورک‌های توسعه اپلیکیشن‌های موبایل است که توسط گوگل ارائه شده است. برای توسعه و اجرای پروژه‌های فلاتر، به نصب و پیکربندی محیط‌های مختلف نیاز دارید. یکی از این محیط‌ها، Java Development Kit (JDK) است. در این مقاله، به اهمیت JDK در فلاتر و نحوه نصب آن در ویندوز می‌پردازیم.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #d10000;">اهمیت JDK در فلاتر</span></strong></h3>
<p>JDK یک بسته نرم‌افزاری است که شامل ابزارهای لازم برای توسعه، کامپایل و اجرای برنامه‌های جاوا است. در فرآیند توسعه با فلاتر، JDK به چند دلیل اهمیت دارد:</p>
<ol>
<li><span style="color: #d10000;"><strong>ابزارهای خط فرمان اندروید</strong></span>: بسیاری از ابزارهای خط فرمان اندروید (مانند Gradle) به جاوا نیاز دارند. JDK این امکان را فراهم می‌کند که این ابزارها به درستی کار کنند.</li>
<li><span style="color: #d10000;"><strong>کامپایل و اجرای کدهای جاوا</strong></span>: برای ساخت اپلیکیشن‌های اندروید با فلاتر، نیاز است که کدهای جاوا کامپایل و اجرا شوند. JDK این قابلیت را فراهم می‌کند.</li>
<li><span style="color: #d10000;"><strong>پشتیبانی از ابزارهای توسعه</strong></span>: ابزارهای توسعه مانند Android Studio برای اجرای پروژه‌های اندروید به JDK نیاز دارند.</li>
</ol>
<p>&nbsp;</p>
<h3><span style="color: #d10000;">پیش‌نیازها</span></h3>
<p>پیش از شروع فرآیند نصب JDK، مطمئن شوید که سیستم شما با پیش‌نیازهای زیر سازگار است:</p>
<ul>
<li>سیستم عامل ویندوز (ترجیحاً ویندوز 10)</li>
<li>دسترسی به اینترنت برای دانلود JDK</li>
</ul>
<p>&nbsp;</p>
<h2><strong><span style="color: #d10000;">مراحل نصب JDK در ویندوز</span></strong></h2>
<h3><strong><span style="color: #d10000;">مرحله 1: دانلود JDK</span></strong></h3>
<ol>
<li>مرورگر وب خود را باز کرده و به وب‌سایت رسمی اوراکل به نشانی <a href="https://www.oracle.com/java/technologies/downloads/" target="_blank" rel="noopener">oracle.com</a> بروید.</li>
<li>در صفحه دانلود، نسخه‌ای از JDK که با سیستم عامل ویندوز سازگار است را انتخاب کنید.</li>
<li>روی لینک دانلود کلیک کرده و فایل نصبی را دانلود کنید.</li>
</ol>
<h3><strong><span style="color: #d10000;">مرحله 2: نصب JDK</span></strong></h3>
<ol>
<li>پس از اتمام دانلود، فایل نصبی JDK را اجرا کنید.</li>
<li>در پنجره نصب، روی دکمه &#8220;Next&#8221; کلیک کنید تا مراحل نصب آغاز شود.</li>
<li>مسیر نصب پیش‌فرض را قبول کنید یا مسیر دیگری را انتخاب کنید، سپس دوباره روی &#8220;Next&#8221; کلیک کنید.</li>
<li>پس از اتمام نصب، روی دکمه &#8220;Close&#8221; کلیک کنید تا پنجره نصب بسته شود.</li>
</ol>
<h3><span style="color: #d10000;"><strong>مرحله 3: تنظیم متغیرهای محیطی</strong></span></h3>
<ol>
<li>در منوی استارت ویندوز، &#8220;Environment Variables&#8221; را جستجو کنید و گزینه &#8220;Edit the system environment variables&#8221; را انتخاب کنید.</li>
<li>در پنجره باز شده، روی دکمه &#8220;Environment Variables&#8221; کلیک کنید.</li>
<li>در بخش &#8220;System Variables&#8221;، متغیر &#8220;Path&#8221; را پیدا کرده و روی &#8220;Edit&#8221; کلیک کنید.</li>
<li>در پنجره جدید، روی &#8220;New&#8221; کلیک کنید و مسیر نصب JDK را وارد کنید (به عنوان مثال، <code>C:\Program Files\Java\jdk-17\bin</code>).</li>
<li>روی &#8220;OK&#8221; کلیک کنید تا تغییرات ذخیره شوند و تمامی پنجره‌ها را ببندید.</li>
</ol>
<p>&nbsp;</p>
<h3><span style="color: #d10000;"><strong>مرحله 4: بررسی نصب</strong></span></h3>
<ol>
<li>یک پنجره خط فرمان (Command Prompt) را باز کنید.</li>
<li>دستور <code>java -version</code> را تایپ کرده و Enter را بزنید.</li>
<li>اگر نصب به درستی انجام شده باشد، نسخه JDK نصب شده نمایش داده می‌شود.</li>
</ol>
<p>&nbsp;</p>
<h3><span style="color: #d10000;"><strong>تنظیمات فلاتر برای استفاده از JDK</strong></span></h3>
<p>پس از نصب JDK، نیاز است تا محیط توسعه فلاتر را تنظیم کنید تا از JDK استفاده کند. برای این کار، مراحل زیر را دنبال کنید:</p>
<ol>
<li><strong>نصب فلاتر</strong>: اگر فلاتر را نصب نکرده‌اید، می‌توانید به وب‌سایت رسمی فلاتر به نشانی <a target="_new" rel="noreferrer noopener">flutter.dev</a> بروید و دستورالعمل‌های نصب را دنبال کنید.</li>
<li><strong>تنظیم مسیر فلاتر</strong>: مطمئن شوید که مسیر نصب فلاتر به متغیرهای محیطی اضافه شده است. مسیر نصب فلاتر باید شامل پوشه <code>bin</code> باشد.</li>
<li><strong>نصب Android Studio</strong>: برای توسعه اپلیکیشن‌های اندروید با فلاتر، نیاز است که Android Studio را نصب کنید. این برنامه به طور خودکار ابزارهای مورد نیاز (مانند Android SDK) را نصب می‌کند.</li>
<li><strong>پیکربندی Android Studio</strong>: پس از نصب Android Studio، آن را باز کرده و از طریق منوی تنظیمات، مسیر نصب JDK را مشخص کنید. به مسیر <code>File &gt; Project Structure &gt; SDK Location</code> بروید و مسیر نصب JDK را وارد کنید.</li>
</ol>
<p>&nbsp;</p>
<h3><span style="color: #d10000;">نتیجه‌گیری</span></h3>
<p>نصب و پیکربندی صحیح JDK در ویندوز، یکی از مراحل ضروری برای توسعه اپلیکیشن‌های فلاتر است. JDK ابزارهای لازم برای کامپایل و اجرای کدهای جاوا را فراهم می‌کند و به عنوان یک پیش‌نیاز برای بسیاری از ابزارهای توسعه اندروید عمل می‌کند. با دنبال کردن مراحل ذکر شده در این مقاله، می‌توانید به راحتی JDK را در ویندوز نصب کرده و محیط توسعه فلاتر خود را پیکربندی کنید.</p>
<h3>منابع بیشتر</h3>
<p>برای یادگیری بیشتر در مورد فلاتر و JDK، می‌توانید منابع زیر را مطالعه کنید:</p>
<ul>
<li><a href="https://docs.flutter.dev/get-started/install" target="_new" rel="noreferrer noopener">مستندات رسمی فلاتر</a></li>
<li><a href="https://docs.oracle.com/en/java/javase/21/install/overview-jdk-installation.html" target="_blank" rel="noopener">مستندات رسمی جاوا</a></li>
<li><a href="https://programmingshow.ir/product/diamond-flutter/">دوره فلاتر الماس</a></li>
</ul>
<p>این مقاله به شما کمک می‌کند تا به صورت گام‌به‌گام JDK را نصب کنید و اهمیت آن در توسعه با فلاتر را درک کنید. امیدواریم که این راهنما به شما در مسیر توسعه اپلیکیشن‌های موفق کمک کند.</p>
</div>
</div>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/install-jdk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش رایگان فلاتر مقدماتی &#8211; فاصله گذاری و تراز کردن ویجت ها در فلاتر</title>
		<link>https://programmingshow.ir/completion-flutter-project-and-summary/</link>
					<comments>https://programmingshow.ir/completion-flutter-project-and-summary/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Fri, 14 Jun 2024 06:30:44 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش فلاتر]]></category>
		<category><![CDATA[آموزش مقدماتی فلاتر]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=875</guid>

					<description><![CDATA[فاصله‌گذاری و تراز کردن ویجت‌ها در فلاتر نقش بسیار مهمی در ایجاد رابط کاربری زیبا و کاربرپسند دارد. این دو مفهوم به شما کمک می‌کنند تا اجزای مختلف رابط کاربری]]></description>
										<content:encoded><![CDATA[<h2><strong><span style="color: #de0000;">اهمیت فاصله‌گذاری و تراز کردن ویجت‌ها</span></strong></h2>
<p>فاصله‌گذاری و تراز کردن ویجت‌ها در <a href="https://flutter.dev/" target="_blank" rel="noopener">فلاتر</a> نقش بسیار مهمی در ایجاد رابط کاربری زیبا و کاربرپسند دارد. این دو مفهوم به شما کمک می‌کنند تا اجزای مختلف رابط کاربری را به‌طور منظم و هماهنگ قرار دهید و تجربه کاربری بهتری برای کاربران خود فراهم کنید.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #de0000;">فاصله‌گذاری (Padding و Margin)</span></strong></h2>
<p>دو مفهوم اصلی در فاصله‌گذاری ویجت‌ها در فلاتر، <code>Padding</code> و <code>Margin</code> هستند. هر دو این مفاهیم به شما امکان می‌دهند تا فاصله‌ای را بین ویجت‌ها و اجزای دیگر رابط کاربری ایجاد کنید، اما تفاوت‌هایی بین آن‌ها وجود دارد.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #de0000;">Padding</span></strong></h3>
<p><a href="https://api.flutter.dev/flutter/widgets/Padding-class.html" target="_blank" rel="noopener"><code>Padding</code></a> فاصله‌ای است که در داخل یک ویجت قرار می‌گیرد و فضای داخلی ویجت را از محتوا جدا می‌کند.</p>
<h3>مثال:</h3>
<p>&nbsp;</p>
<figure id="attachment_2251" aria-describedby="caption-attachment-2251" style="width: 527px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2251" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-7-1.png" alt="Padding" width="527" height="264" /><figcaption id="caption-attachment-2251" class="wp-caption-text">Padding</figcaption></figure>
<p>&nbsp;</p>
<h3><strong><span style="color: #de0000;">Margin</span></strong></h3>
<p><a href="https://api.flutter.dev/flutter/widgets/Container/margin.html" target="_blank" rel="noopener"><code>Margin</code></a> فاصله‌ای است که در خارج از یک ویجت قرار می‌گیرد و فضای خارجی ویجت را از دیگر ویجت‌ها جدا می‌کند. برای ایجاد <code>Margin</code> می‌توانید از ویجت <code>Container</code> استفاده کنید.</p>
<h2></h2>
<figure id="attachment_2252" aria-describedby="caption-attachment-2252" style="width: 527px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2252" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-8-1.png" alt="Margin" width="527" height="264" /><figcaption id="caption-attachment-2252" class="wp-caption-text">Margin</figcaption></figure>
<p>&nbsp;</p>
<h2><strong><span style="color: #de0000;">تراز کردن ویجت‌ها</span></strong></h2>
<p>در فلاتر، برای تراز کردن ویجت‌ها می‌توانید از ویجت‌هایی مانند <code>Row</code>، <code>Column</code>، <a href="https://api.flutter.dev/flutter/widgets/Center-class.html" target="_blank" rel="noopener"><code>Center</code></a>، <a href="https://api.flutter.dev/flutter/widgets/Align-class.html" target="_blank" rel="noopener"><code>Align</code></a> و <code>Container</code> استفاده کنید. هر یک از این ویجت‌ها ویژگی‌های خاص خود را دارند و به شما امکان می‌دهند تا ویجت‌ها را به صورت افقی یا عمودی تراز کنید.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #de0000;">تراز کردن افقی با Row</span></strong></h3>
<p>ویجت <code>Row</code> به شما امکان می‌دهد تا ویجت‌ها را به صورت افقی تراز کنید. این ویجت دارای دو ویژگی اصلی <code>mainAxisAlignment</code> و <code>crossAxisAlignment</code> است.</p>
<h3></h3>
<figure id="attachment_2253" aria-describedby="caption-attachment-2253" style="width: 633px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2253" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-9-1.png" alt="Row" width="633" height="357" /><figcaption id="caption-attachment-2253" class="wp-caption-text">Row</figcaption></figure>
<p>&nbsp;</p>
<h3><strong><span style="color: #de0000;">تراز کردن عمودی با Column</span></strong></h3>
<p>ویجت <code>Column</code> به شما امکان می‌دهد تا ویجت‌ها را به صورت عمودی تراز کنید. این ویجت نیز دارای دو ویژگی اصلی <code>mainAxisAlignment</code> و <code>crossAxisAlignment</code> است.</p>
<h3>مثال:</h3>
<p>&nbsp;</p>
<figure id="attachment_2254" aria-describedby="caption-attachment-2254" style="width: 633px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2254" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-10-1.png" alt="Column" width="633" height="339" /><figcaption id="caption-attachment-2254" class="wp-caption-text">Column</figcaption></figure>
<p>&nbsp;</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<h3><strong><span style="color: #de0000;">تراز کردن مرکزی با Center</span></strong></h3>
<p>ویجت <code>Center</code> به شما امکان می‌دهد تا ویجت‌ها را به صورت مرکزی در صفحه تراز کنید. این ویجت به‌طور خودکار فرزندان خود را در مرکز صفحه قرار می‌دهد.</p>
<h3>مثال:</h3>
<p>&nbsp;</p>
<figure id="attachment_2255" aria-describedby="caption-attachment-2255" style="width: 503px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2255" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-11-1.png" alt="Center" width="503" height="245" /><figcaption id="caption-attachment-2255" class="wp-caption-text">Center</figcaption></figure>
<p>&nbsp;</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<h3><strong><span style="color: #de0000;">تراز کردن دقیق با Align</span></strong></h3>
<p>ویجت <code>Align</code> به شما امکان می‌دهد تا ویجت‌ها را به صورت دقیق در نقاط مختلف صفحه تراز کنید. این ویجت دارای ویژگی <code>alignment</code> است که به شما امکان می‌دهد موقعیت دقیق ویجت را مشخص کنید.</p>
<h3>مثال:</h3>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<h2></h2>
<figure id="attachment_2256" aria-describedby="caption-attachment-2256" style="width: 503px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2256" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-12-1.png" alt="Align" width="503" height="264" /><figcaption id="caption-attachment-2256" class="wp-caption-text">Align</figcaption></figure>
<p>&nbsp;</p>
<h2><strong><span style="color: #de0000;">ترکیب فاصله‌گذاری و تراز کردن</span></strong></h2>
<p>در بسیاری از موارد، شما نیاز دارید تا فاصله‌گذاری و تراز کردن ویجت‌ها را به صورت همزمان انجام دهید. برای این کار می‌توانید از ترکیب ویجت‌های مختلف استفاده کنید.</p>
<h3>مثال:</h3>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<p>&nbsp;</p>
<figure id="attachment_2257" aria-describedby="caption-attachment-2257" style="width: 635px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2257" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-13-1.png" alt="ترکیب فاصله‌گذاری و تراز کردن" width="635" height="357" /><figcaption id="caption-attachment-2257" class="wp-caption-text">ترکیب فاصله‌گذاری و تراز کردن</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، ویجت <code>Container</code> دارای <code>Padding</code> و <code>Margin</code> است و در مرکز صفحه تراز شده است.</p>
<h2></h2>
<h2><strong><span style="color: #de0000;">استفاده از Spacer برای فاصله‌گذاری</span></strong></h2>
<p>ویجت <code>Spacer</code> به شما امکان می‌دهد تا فضای خالی بین ویجت‌ها ایجاد کنید. این ویجت معمولاً در <code>Row</code> و <code>Column</code> استفاده می‌شود تا فاصله‌های انعطاف‌پذیری بین ویجت‌ها ایجاد شود.</p>
<h3>مثال:</h3>
<p>&nbsp;</p>
<figure id="attachment_2258" aria-describedby="caption-attachment-2258" style="width: 409px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2258" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-14.png" alt="استفاده از Spacer برای فاصله‌گذاری" width="409" height="320" /><figcaption id="caption-attachment-2258" class="wp-caption-text">استفاده از Spacer برای فاصله‌گذاری</figcaption></figure>
<p>&nbsp;</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<h3><strong><span style="color: #de0000;">نتیجه‌گیری</span></strong></h3>
<p>فاصله‌گذاری و تراز کردن ویجت‌ها در فلاتر از اهمیت بالایی برخوردار است و به شما کمک می‌کند تا رابط کاربری زیبا و کاربرپسندی ایجاد کنید. با استفاده از ویجت‌هایی مانند <code>Padding</code>، <code>Container</code>، <code>Row</code>، <code>Column</code>، <code>Center</code> و <code>Align</code> می‌توانید ویجت‌های خود را به صورت دقیق و منظم تراز کنید و فاصله‌های مناسبی بین آن‌ها ایجاد کنید.</p>
<p>برای یادگیری بیشتر درباره فاصله‌گذاری و تراز کردن ویجت‌ها و سایر مفاهیم فلاتر، پیشنهاد می‌کنیم در <strong><a href="https://programmingshow.ir/shop/">دوره‌های آموزشی فلاتر از سایت‌های معتبری مانند Programming Show</a></strong> شرکت کنید. این دوره‌ها به شما کمک می‌کنند تا به یک توسعه‌دهنده حرفه‌ای فلاتر تبدیل شوید و از امکانات بی‌نظیر این چارچوب بهره‌مند شوید.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/completion-flutter-project-and-summary/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش رایگان فلاتر مقدماتی &#8211; دکمه ها در فلاتر</title>
		<link>https://programmingshow.ir/buttons-in-flutter/</link>
					<comments>https://programmingshow.ir/buttons-in-flutter/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Wed, 12 Jun 2024 06:30:08 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش فلاتر]]></category>
		<category><![CDATA[آموزش مقدماتی فلاتر]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=854</guid>

					<description><![CDATA[یکی از مهم‌ترین عناصر در طراحی رابط کاربری در فلاتر، دکمه‌ها هستند. دکمه‌ها نقش بسیار مهمی در تعامل کاربر با اپلیکیشن ایفا می‌کنند]]></description>
										<content:encoded><![CDATA[<h2><strong><span style="color: #cc0000;">مقدمه</span></strong></h2>
<p>یکی از مهم‌ترین عناصر در طراحی رابط کاربری در <a href="https://flutter.dev/" target="_blank" rel="noopener">فلاتر</a>، دکمه‌ها هستند. دکمه‌ها نقش بسیار مهمی در تعامل کاربر با اپلیکیشن ایفا می‌کنند و انواع مختلفی دارند که هر کدام برای کاربردهای خاصی طراحی شده‌اند. در این مقاله به بررسی <a href="https://docs.flutter.dev/release/breaking-changes/buttons" target="_blank" rel="noopener">دکمه‌ها در فلاتر</a> می‌پردازیم و نحوه استفاده از آن‌ها را توضیح می‌دهیم.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #cc0000;">دکمه در فلاتر چیست؟</span></strong></h2>
<p>دکمه‌ها (Buttons) در فلاتر ویجت‌هایی هستند که به کاربر این امکان را می‌دهند تا با اپلیکیشن تعامل داشته باشند. با کلیک بر روی دکمه‌ها، عملیات خاصی مانند ارسال فرم، تغییر صفحه یا انجام یک وظیفه خاص اجرا می‌شود.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #cc0000;">انواع دکمه‌ها در فلاتر</span></strong></h2>
<p>در فلاتر انواع مختلفی از دکمه‌ها وجود دارد که هر یک برای کاربرد خاصی طراحی شده‌اند. در ادامه به معرفی و بررسی چند نوع دکمه مهم در فلاتر می‌پردازیم.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #cc0000;">1. ElevatedButton</span></strong></h3>
<p><a href="https://api.flutter.dev/flutter/material/ElevatedButton-class.html" target="_blank" rel="noopener"><code>ElevatedButton</code></a> یکی از پرکاربردترین دکمه‌ها در فلاتر است که دارای افکت سایه و برجستگی می‌باشد و به کاربر احساس تعامل بیشتری می‌دهد.</p>
<h3>مثال:</h3>
<p>&nbsp;</p>
<figure id="attachment_2243" aria-describedby="caption-attachment-2243" style="width: 513px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2243" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-13.png" alt="ElevatedButton" width="513" height="301" /><figcaption id="caption-attachment-2243" class="wp-caption-text">ElevatedButton</figcaption></figure>
<p>&nbsp;</p>
<h3><span style="color: #cc0000;"><strong>2. TextButton</strong></span></h3>
<p><a href="https://api.flutter.dev/flutter/material/TextButton-class.html" target="_blank" rel="noopener"><code>TextButton</code></a> دکمه‌ای است که به صورت متنی نمایش داده می‌شود و بدون افکت برجستگی است. این دکمه برای مواقعی که نیاز به نمایش ساده و بدون تزئین دکمه دارید، مناسب است.</p>
<p>&nbsp;</p>
<figure id="attachment_2244" aria-describedby="caption-attachment-2244" style="width: 513px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2244" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-1-2.png" alt="TextButton" width="513" height="301" /><figcaption id="caption-attachment-2244" class="wp-caption-text">TextButton</figcaption></figure>
<p>&nbsp;</p>
<h3><span style="color: #cc0000;"><strong>3. OutlinedButton</strong></span></h3>
<p><a href="https://api.flutter.dev/flutter/material/OutlinedButton-class.html" target="_blank" rel="noopener"><code>OutlinedButton</code></a> دکمه‌ای است که با یک خط مرزی دور آن نمایش داده می‌شود و مناسب برای مواقعی است که نیاز به دکمه‌ای با استایل برجسته ولی بدون پس‌زمینه دارید.</p>
<p>&nbsp;</p>
<figure id="attachment_2245" aria-describedby="caption-attachment-2245" style="width: 513px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2245" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-2-2.png" alt="OutlinedButton" width="513" height="301" /><figcaption id="caption-attachment-2245" class="wp-caption-text">OutlinedButton</figcaption></figure>
<p>&nbsp;</p>
<h3><strong><span style="color: #cc0000;">4. IconButton</span></strong></h3>
<p><a href="https://api.flutter.dev/flutter/material/IconButton-class.html" target="_blank" rel="noopener"><code>IconButton</code></a> دکمه‌ای است که تنها یک آیکون نمایش می‌دهد و برای مواقعی که نیاز به نمایش یک عملکرد با استفاده از آیکون دارید، مناسب است.</p>
<h3>مثال:</h3>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<h2></h2>
<figure id="attachment_2246" aria-describedby="caption-attachment-2246" style="width: 513px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2246" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-3-2.png" alt="IconButton" width="513" height="301" /><figcaption id="caption-attachment-2246" class="wp-caption-text">IconButton</figcaption></figure>
<p>&nbsp;</p>
<h2><strong><span style="color: #cc0000;">ایجاد دکمه‌های سفارشی در فلاتر</span></strong></h2>
<p>در فلاتر، علاوه بر استفاده از دکمه‌های پیش‌فرض، می‌توانید دکمه‌های سفارشی خود را نیز ایجاد کنید. برای این کار می‌توانید از ترکیب ویجت‌های مختلف استفاده کرده و دکمه‌ای با طراحی و ویژگی‌های دلخواه خود ایجاد کنید.</p>
<h3>مثال:</h3>
<p>&nbsp;</p>
<figure id="attachment_2247" aria-describedby="caption-attachment-2247" style="width: 781px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2247" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-4-1.png" alt="ایجاد دکمه‌های سفارشی در فلاتر" width="781" height="543" /><figcaption id="caption-attachment-2247" class="wp-caption-text">ایجاد دکمه‌های سفارشی در فلاتر</figcaption></figure>
<p>&nbsp;</p>
<h2><strong><span style="color: #cc0000;">مدیریت وضعیت دکمه‌ها</span></strong></h2>
<p>در بسیاری از مواقع نیاز است که وضعیت دکمه‌ها را بر اساس شرایط خاصی تغییر دهیم. مثلاً دکمه‌ای که تنها در صورتی که فرم پر شده باشد فعال شود. برای این کار می‌توانیم از <code>StatefulWidget</code> استفاده کنیم.</p>
<h3>مثال:</h3>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<p>&nbsp;</p>
<figure id="attachment_2248" aria-describedby="caption-attachment-2248" style="width: 811px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2248" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-5-1.png" alt="مدیریت وضعیت دکمه‌ها" width="811" height="953" /><figcaption id="caption-attachment-2248" class="wp-caption-text">مدیریت وضعیت دکمه‌ها</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، دکمه <code>ElevatedButton</code> تنها در صورتی که سوئیچ فعال باشد قابل کلیک است.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #cc0000;">استفاده از دکمه‌ها در صفحات مختلف</span></strong></h2>
<p>در فلاتر می‌توانید از دکمه‌ها برای جابجایی بین صفحات مختلف استفاده کنید. این کار با استفاده از <code>Navigator</code> و <code>MaterialPageRoute</code> انجام می‌شود.</p>
<p>&nbsp;</p>
<figure id="attachment_2249" aria-describedby="caption-attachment-2249" style="width: 717px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2249" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-6-1.png" alt="استفاده از دکمه‌ها در صفحات مختلف" width="717" height="357" /><figcaption id="caption-attachment-2249" class="wp-caption-text">استفاده از دکمه‌ها در صفحات مختلف</figcaption></figure>
<p>&nbsp;</p>
<h2><span style="color: #cc0000;"><strong>نتیجه‌گیری</strong></span></h2>
<p>دکمه‌ها یکی از اجزای کلیدی در طراحی رابط کاربری اپلیکیشن‌های فلاتر هستند. با استفاده از دکمه‌های مختلف مانند <code>ElevatedButton</code>، <code>TextButton</code>، <code>OutlinedButton</code> و <code>IconButton</code> می‌توانید تجربه کاربری بهتری برای کاربران خود فراهم کنید. همچنین، با سفارشی‌سازی دکمه‌ها و مدیریت وضعیت آن‌ها می‌توانید کاربردهای پیشرفته‌تری را پیاده‌سازی کنید.</p>
<p>برای یادگیری بیشتر درباره دکمه‌ها و سایر ویجت‌های فلاتر، پیشنهاد می‌کنیم در <strong><a href="https://programmingshow.ir/shop/">دوره‌های آموزشی فلاتر از سایت‌های معتبری مانند Programming Show</a></strong> شرکت کنید. این دوره‌ها به شما کمک می‌کنند تا به یک توسعه‌دهنده حرفه‌ای فلاتر تبدیل شوید و از امکانات بی‌نظیر این چارچوب بهره‌مند شوید.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/buttons-in-flutter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش رایگان فلاتر مقدماتی &#8211; توابع (فانکشن ها) در فلاتر</title>
		<link>https://programmingshow.ir/functions-in-flutter/</link>
					<comments>https://programmingshow.ir/functions-in-flutter/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Mon, 10 Jun 2024 06:30:54 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش فلاتر]]></category>
		<category><![CDATA[آموزش مقدماتی فلاتر]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=853</guid>

					<description><![CDATA[توابع در فلاتر، همانند سایر زبان‌های برنامه‌نویسی، بلوک‌های کدی هستند که برای انجام یک کار خاص تعریف می‌شوند. توابع می‌توانند داده‌ها را به عنوان ورودی بپذیرند]]></description>
										<content:encoded><![CDATA[<h2><strong><span style="color: #d90000;">توابع (فانکشن‌ها) در فلاتر</span></strong></h2>
<p>&nbsp;</p>
<p><span style="color: #d90000;"><strong>مقدمه</strong></span></p>
<p><a href="https://flutter.dev/" target="_blank" rel="noopener">فلاتر</a> یکی از چارچوب‌های توسعه نرم‌افزار موبایل است که توسط <a href="https://developers.google.com/learn/topics/flutter" target="_blank" rel="noopener">گوگل</a> توسعه داده شده و به برنامه‌نویسان این امکان را می‌دهد تا با یک بار نوشتن کد، اپلیکیشن‌هایی برای اندروید و iOS بسازند. یکی از مهم‌ترین مفاهیم در برنامه‌نویسی با فلاتر، توابع (فانکشن‌ها) هستند. در این مقاله به بررسی توابع در فلاتر می‌پردازیم و به شما نشان می‌دهیم که چگونه می‌توانید از آن‌ها برای بهبود ساختار و کارایی کدهای خود استفاده کنید.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">توابع در فلاتر چیست؟</span></strong></h2>
<p>توابع در فلاتر، همانند سایر زبان‌های برنامه‌نویسی، بلوک‌های کدی هستند که برای انجام یک کار خاص تعریف می‌شوند. توابع می‌توانند داده‌ها را به عنوان ورودی بپذیرند، عملیاتی را بر روی این داده‌ها انجام دهند و نتایج را برگردانند. <strong><a href="https://programmingshow.ir/functions-in-dart/">توابع در فلاتر به زبان برنامه‌نویسی دارت (Dart)</a></strong> نوشته می‌شوند که زبان اصلی این چارچوب است.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><span style="color: #d90000;"><strong>تعریف توابع در فلاتر</strong></span></h2>
<p>برای تعریف یک تابع در دارت، از کلمه کلیدی <code>void</code> برای توابعی که مقداری برنمی‌گردانند و نوع داده‌ای که تابع برمی‌گرداند برای توابعی که مقداری برمی‌گردانند، استفاده می‌شود.</p>
<h3>مثال:</h3>
<p>&nbsp;</p>
<figure id="attachment_2236" aria-describedby="caption-attachment-2236" style="width: 511px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2236" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-12.png" alt="تعریف توابع در فلاتر" width="511" height="507" /><figcaption id="caption-attachment-2236" class="wp-caption-text">تعریف توابع در فلاتر</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، تابع <code>printHello</code> پیامی را چاپ می‌کند و تابع <code>addNumbers</code> دو عدد را به عنوان ورودی می‌گیرد و مجموع آن‌ها را برمی‌گرداند.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">انواع توابع در فلاتر</span></strong></h2>
<p>توابع در فلاتر به دو دسته اصلی تقسیم می‌شوند: توابع عادی و توابع ناشناس (یا لامبدا).</p>
<h3><strong><span style="color: #d90000;">توابع عادی</span></strong></h3>
<p>توابع عادی توابعی هستند که با نام مشخصی تعریف می‌شوند و می‌توانند در نقاط مختلف کد فراخوانی شوند.</p>
<h3><strong><span style="color: #d90000;">توابع ناشناس</span></strong></h3>
<p>توابع ناشناس توابعی هستند که نامی ندارند و معمولاً به عنوان آرگومان به دیگر توابع پاس داده می‌شوند. این توابع با استفاده از علامت <code>=&gt;</code> یا بدنه بلوکی <code>{}</code> تعریف می‌شوند.</p>
<h3>مثال:</h3>
<p>&nbsp;</p>
<figure id="attachment_2237" aria-describedby="caption-attachment-2237" style="width: 615px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2237" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-1-1.png" alt="توابع ناشناس" width="615" height="357" /><figcaption id="caption-attachment-2237" class="wp-caption-text">توابع ناشناس</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، از توابع ناشناس برای چاپ اعداد در لیست استفاده شده است.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">مزایای استفاده از توابع در فلاتر</span></strong></h2>
<p>استفاده از توابع در فلاتر دارای مزایای متعددی است که در ادامه به برخی از آن‌ها اشاره می‌کنیم:</p>
<ol>
<li><strong>کد تمیزتر و قابل فهم‌تر<br />
</strong>استفاده از توابع باعث می‌شود کد شما تمیزتر و سازمان‌دهی شده‌تر باشد. با تقسیم وظایف به توابع کوچک‌تر، فهم و نگهداری کد آسان‌تر می‌شود.</li>
<li><strong>کاهش تکرار کد<br />
</strong>با استفاده از توابع، می‌توانید کدهایی که به صورت مکرر نیاز دارید را تنها یک بار بنویسید و در جاهای مختلف برنامه از آن‌ها استفاده کنید.</li>
<li><strong>سهولت در تست و اشکال‌زدایی<br />
</strong>توابع مجزا به راحتی قابل تست و اشکال‌زدایی هستند. شما می‌توانید توابع خود را به صورت جداگانه تست کنید و مطمئن شوید که هر بخش از برنامه به درستی کار می‌کند.</li>
</ol>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">پارامترهای اختیاری و نام‌گذاری شده</span></strong></h2>
<p>دارت امکان تعریف پارامترهای اختیاری و نام‌گذاری شده را در توابع فراهم می‌کند. این ویژگی‌ها به شما این امکان را می‌دهند که توابع انعطاف‌پذیرتر و قابل استفاده‌تری بنویسید.</p>
<h3><strong><span style="color: #d90000;">پارامترهای اختیاری</span></strong></h3>
<p>پارامترهای اختیاری پارامترهایی هستند که می‌توانند مقدار پیش‌فرض داشته باشند و در صورت عدم ارسال مقدار، از مقدار پیش‌فرض استفاده می‌کنند.</p>
<h3>مثال:</h3>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<p>&nbsp;</p>
<figure id="attachment_2238" aria-describedby="caption-attachment-2238" style="width: 711px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2238" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-2-1.png" alt="پارامترهای اختیاری" width="711" height="357" /><figcaption id="caption-attachment-2238" class="wp-caption-text">پارامترهای اختیاری</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، پارامتر <code>greeting</code> اختیاری است و مقدار پیش‌فرض آن <code>Hello</code> است.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">توابع بازگشتی</span></strong></h2>
<p>توابع بازگشتی توابعی هستند که خود را فراخوانی می‌کنند. این توابع معمولاً برای حل مسائل پیچیده‌تر و بازگشتی مانند محاسبه فاکتوریل یا حل مسائل تقسیم و تسلط استفاده می‌شوند.</p>
<p>&nbsp;</p>
<figure id="attachment_2239" aria-describedby="caption-attachment-2239" style="width: 565px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2239" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-3-1.png" alt="توابع بازگشتی" width="565" height="413" /><figcaption id="caption-attachment-2239" class="wp-caption-text">توابع بازگشتی</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، تابع <code>factorial</code> به صورت بازگشتی فاکتوریل یک عدد را محاسبه می‌کند.</p>
<p>&nbsp;</p>
<p><span style="color: #d90000;"><strong>نتیجه‌گیری</strong></span></p>
<p>توابع (فانکشن‌ها) در فلاتر نقش بسیار مهمی در ساختار و کارایی برنامه‌های شما ایفا می‌کنند. با استفاده از توابع، می‌توانید کدهای خود را تمیزتر، قابل فهم‌تر و نگهداری پذیرتر کنید. همچنین، استفاده از توابع بازگشتی و پارامترهای اختیاری و نام‌گذاری شده می‌تواند کدهای شما را قدرتمندتر و انعطاف‌پذیرتر کند.</p>
<p>برای یادگیری بیشتر درباره توابع در فلاتر و دست‌یابی به دانش عمیق‌تر، پیشنهاد می‌کنیم در دوره‌های آموزشی مثل دوره‌های آموزش فلاتر از سایت‌های معتبری مانند Programming Show شرکت کنید. این دوره‌ها می‌توانند به شما کمک کنند تا به یک توسعه‌دهنده حرفه‌ای فلاتر تبدیل شوید و از امکانات بی‌نظیر این چارچوب بهره‌مند شوید.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/functions-in-flutter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش رایگان فلاتر مقدماتی &#8211; ویجت Container در فلاتر</title>
		<link>https://programmingshow.ir/container-in-flutter/</link>
					<comments>https://programmingshow.ir/container-in-flutter/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Sat, 08 Jun 2024 06:30:52 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش فلاتر]]></category>
		<category><![CDATA[آموزش مقدماتی فلاتر]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=852</guid>

					<description><![CDATA[اگر در حال یادگیری فلاتر هستید یا به دنبال دوره فلاتر مناسب می‌گردید، یکی از مفاهیمی که باید به خوبی مسلط شوید، ویجت Container است. این ویجت یکی از ویجت‌های پرکاربرد و اساسی در فلاتر است]]></description>
										<content:encoded><![CDATA[<h2><strong><span style="color: #e80000;">ویجت Container در فلاتر: همه چیزهایی که باید بدانید</span></strong></h2>
<p>اگر در حال یادگیری <a href="https://docs.flutter.dev/get-started/install" target="_blank" rel="noopener">فلاتر</a> هستید یا به دنبال دوره فلاتر مناسب می‌گردید، یکی از مفاهیمی که باید به خوبی مسلط شوید، ویجت Container است. این ویجت یکی از ویجت‌های پرکاربرد و اساسی در فلاتر است که برای ایجاد و تنظیم بسیاری از عناصر رابط کاربری استفاده می‌شود. در این مقاله، به <strong><a href="https://api.flutter.dev/flutter/widgets/Container-class.html" target="_blank" rel="noopener">بررسی کامل ویجت Container</a></strong> در فلاتر خواهیم پرداخت و نحوه استفاده از آن را با جزئیات توضیح خواهیم داد.</p>
<p>&nbsp;</p>
<h2><span style="color: #e80000;"><strong>معرفی ویجت Container</strong></span></h2>
<p>ویجت Container یکی از پرکاربردترین ویجت‌ها در فلاتر است که به شما اجازه می‌دهد تا یک بخش قابل تنظیم از رابط کاربری را ایجاد کنید. این ویجت می‌تواند شامل ویژگی‌هایی مانند اندازه، حاشیه، حاشیه داخلی، رنگ پس‌زمینه، و حتی یک سایه باشد. ویجت Container به شما امکان می‌دهد تا کنترل کامل بر روی ظاهر و موقعیت عناصر داخل آن داشته باشید.</p>
<h2><span style="color: #e80000;"><strong>نحوه استفاده از ویجت Container</strong></span></h2>
<p>استفاده از ویجت Container بسیار ساده است. در ادامه به یک مثال ساده برای ایجاد یک Container با تنظیمات مختلف می‌پردازیم:</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<p>&nbsp;</p>
<figure id="attachment_2179" aria-describedby="caption-attachment-2179" style="width: 591px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2179" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-8.png" alt="نحوه استفاده از ویجت Container" width="591" height="596" /><figcaption id="caption-attachment-2179" class="wp-caption-text">نحوه استفاده از ویجت Container</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، یک Container با عرض و ارتفاع 200 پیکسل، حاشیه 10 پیکسلی و حاشیه داخلی 20 پیکسلی ایجاد شده است. همچنین، یک پس‌زمینه آبی، گوشه‌های گرد شده با شعاع 15 پیکسل و سایه‌ای با تنظیمات مشخص برای آن تعریف شده است. داخل این Container یک متن سفید رنگ قرار گرفته است.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #e80000;">خصوصیات مهم ویجت Container</span></strong></h2>
<h3><strong>1. width و height</strong></h3>
<p>خصوصیات <code>width</code> و <code>height</code> برای تعیین عرض و ارتفاع Container استفاده می‌شوند. با تنظیم این مقادیر، می‌توانید اندازه Container را به دلخواه تغییر دهید.</p>
<p>&nbsp;</p>
<h3><strong>2. margin</strong></h3>
<p>خصوصیت <code>margin</code> برای ایجاد حاشیه خارجی اطراف Container استفاده می‌شود. این خصوصیت از کلاس <code>EdgeInsets</code> استفاده می‌کند که می‌تواند حاشیه‌ها را به صورت یکنواخت یا تفکیک شده تنظیم کند.</p>
<p>&nbsp;</p>
<h3><strong>3. padding</strong></h3>
<p>خصوصیت <code>padding</code> برای ایجاد حاشیه داخلی داخل Container استفاده می‌شود. این خصوصیت نیز از کلاس <code>EdgeInsets</code> استفاده می‌کند و می‌تواند به صورت یکنواخت یا تفکیک شده تنظیم شود.</p>
<p>&nbsp;</p>
<h3><strong>4. decoration</strong></h3>
<p>خصوصیت <code>decoration</code> برای تنظیم ظاهر Container استفاده می‌شود. این خصوصیت از کلاس <code>BoxDecoration</code> استفاده می‌کند که می‌تواند شامل رنگ پس‌زمینه، گوشه‌های گرد، سایه، گرادیانت و تصویر پس‌زمینه باشد.</p>
<p>&nbsp;</p>
<h3><strong>5. alignment</strong></h3>
<p>خصوصیت <code>alignment</code> برای تنظیم موقعیت محتوای داخل Container استفاده می‌شود. این خصوصیت می‌تواند مقادیری مانند <code>Alignment.center</code>, <code>Alignment.topLeft</code>, <code>Alignment.bottomRight</code> و غیره را بپذیرد.</p>
<p>&nbsp;</p>
<h3><strong>6. constraints</strong></h3>
<p>خصوصیت <code>constraints</code> برای اعمال محدودیت‌های اضافی بر روی اندازه Container استفاده می‌شود. این خصوصیت از کلاس <code>BoxConstraints</code> استفاده می‌کند که می‌تواند حداقل و حداکثر عرض و ارتفاع را تنظیم کند.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #e80000;">مثال‌های کاربردی ویجت Container</span></strong></h2>
<h3><strong>1. Container با تصویر پس‌زمینه</strong></h3>
<p>&nbsp;</p>
<figure id="attachment_2180" aria-describedby="caption-attachment-2180" style="width: 731px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2180" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-9.png" alt=" Container با تصویر پس‌زمینه" width="731" height="503" /><figcaption id="caption-attachment-2180" class="wp-caption-text">Container با تصویر پس‌زمینه</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، یک Container با تصویر پس‌زمینه ایجاد شده است. تصویر از طریق URL بارگذاری شده و به صورت کامل پوشانده شده است.</p>
<h3><strong>2. Container با گرادیانت رنگی</strong></h3>
<p>&nbsp;</p>
<figure id="attachment_2181" aria-describedby="caption-attachment-2181" style="width: 697px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2181" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-10.png" alt="Container با گرادیانت رنگی" width="697" height="521" /><figcaption id="caption-attachment-2181" class="wp-caption-text">Container با گرادیانت رنگی</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، یک Container با گرادیانت رنگی از قرمز به آبی ایجاد شده است. متن در مرکز Container قرار گرفته است.</p>
<h3><strong>3. Container با گوشه‌های گرد و حاشیه</strong></h3>
<p>&nbsp;</p>
<figure id="attachment_2182" aria-describedby="caption-attachment-2182" style="width: 697px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2182" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-11.png" alt="Container با گوشه‌های گرد و حاشیه" width="697" height="540" /><figcaption id="caption-attachment-2182" class="wp-caption-text">Container با گوشه‌های گرد و حاشیه</figcaption></figure>
<p>&nbsp;</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium">
<div class="flex items-center relative text-token-text-secondary bg-token-main-surface-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md">در این مثال، یک Container با گوشه‌های گرد و حاشیه سیاه رنگ ایجاد شده است. متن در مرکز Container قرار گرفته است.</div>
</div>
<div></div>
<div></div>
<p><strong><span style="color: #e80000;">نتیجه‌گیری</span></strong></p>
<p>ویجت Container یکی از ویجت‌های پایه‌ای و بسیار کاربردی در فلاتر است که به شما امکان می‌دهد بخش‌های قابل تنظیمی از رابط کاربری را ایجاد کنید. با استفاده از خصوصیات مختلف این ویجت، می‌توانید ظاهر و موقعیت عناصر داخل آن را به دلخواه تغییر دهید و رابط کاربری مورد نظر خود را بسازید. یادگیری نحوه استفاده از ویجت Container و ترکیب آن با سایر ویجت‌ها می‌تواند به شما در دوره فلاتر کمک کند تا برنامه‌های حرفه‌ای و کاربرپسند بسازید.</p>
<p>امیدواریم این مقاله به شما در یادگیری و استفاده بهتر از ویجت Container در فلاتر کمک کرده باشد. برای اطلاعات بیشتر و آموزش‌های جامع‌تر، می‌توانید به دوره‌های فلاتر، از جمله <strong><a href="https://programmingshow.ir/product/diamond-flutter/">دوره‌های فلاتر programming show</a></strong>، مراجعه کنید و مهارت‌های خود را در این فریمورک محبوب افزایش دهید.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/container-in-flutter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>آموزش رایگان فلاتر &#8211; ویجت Row &#124; ویجت Row در فلاتر</title>
		<link>https://programmingshow.ir/row-widget-flutter/</link>
					<comments>https://programmingshow.ir/row-widget-flutter/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Thu, 06 Jun 2024 06:30:45 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش فلاتر]]></category>
		<category><![CDATA[آموزش مقدماتی فلاتر]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=851</guid>

					<description><![CDATA[اگر به دنبال یادگیری فلاتر هستید یا در دوره فلاتر شرکت کرده‌اید، یکی از اصول پایه‌ای که باید به آن مسلط شوید، استفاده از ویجت‌های مختلف برای ساخت رابط کاربری است. یکی از ویجت‌های اساسی و پراستفاده در فلاتر، ویجت Row است.]]></description>
										<content:encoded><![CDATA[<h2><strong><span style="color: #d40000;">ویجت Row در فلاتر: راهنمای جامع برای استفاده از ویجت Row</span></strong></h2>
<p>اگر به دنبال یادگیری <a href="https://docs.flutter.dev/get-started/install" target="_blank" rel="noopener">فلاتر</a> هستید یا در دوره فلاتر شرکت کرده‌اید، یکی از اصول پایه‌ای که باید به آن مسلط شوید، استفاده از ویجت‌های مختلف برای ساخت رابط کاربری است. یکی از ویجت‌های اساسی و پراستفاده در فلاتر، ویجت Row است. در این مقاله به <a href="https://api.flutter.dev/flutter/widgets/Row-class.html" target="_blank" rel="noopener"><strong>بررسی ویجت Row</strong></a> در فلاتر خواهیم پرداخت و نحوه استفاده از آن را به طور جامع توضیح خواهیم داد.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d40000;">معرفی ویجت Row</span></strong></h2>
<p>ویجت <a href="https://programmingshow.ir/?p=851&amp;preview=true">Row</a> یکی از ویجت‌های اصلی در فلاتر است که برای چیدمان افقی عناصر استفاده می‌شود. با استفاده از این ویجت می‌توانید چندین ویجت را به صورت افقی در کنار هم قرار دهید. ویجت Row بسیار منعطف است و می‌تواند در ترکیب با سایر ویجت‌ها برای ایجاد چیدمان‌های پیچیده‌تر استفاده شود.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d40000;">نحوه استفاده از ویجت Row</span></strong></h2>
<p>استفاده از ویجت Row بسیار ساده است. در ادامه به یک مثال ساده برای ایجاد یک Row با سه دکمه می‌پردازیم:</p>
<p>&nbsp;</p>
<figure id="attachment_2172" aria-describedby="caption-attachment-2172" style="width: 577px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2172" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-4.png" alt="نحوه استفاده از ویجت Row" width="577" height="503" /><figcaption id="caption-attachment-2172" class="wp-caption-text">نحوه استفاده از ویجت Row</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، یک ویجت Row ایجاد شده است که شامل سه دکمه است. هر دکمه با استفاده از ویجت ElevatedButton ساخته شده و درون Row قرار گرفته است.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d40000;">خصوصیات مهم ویجت Row</span></strong></h2>
<h3><strong>1. children</strong></h3>
<p>خصوصیت <code>children</code> مهم‌ترین خصوصیت ویجت Row است که لیستی از ویجت‌ها را به عنوان فرزندان Row می‌پذیرد. این ویجت‌ها به ترتیب در کنار یکدیگر قرار می‌گیرند.</p>
<p>&nbsp;</p>
<h3><strong>2. mainAxisAlignment</strong></h3>
<p>خصوصیت <code>mainAxisAlignment</code> نحوه چیدمان ویجت‌ها را در محور اصلی (افقی) تعیین می‌کند. مقادیر مختلفی مانند <code>MainAxisAlignment.start</code>, <code>MainAxisAlignment.center</code>, <code>MainAxisAlignment.end</code>, <code>MainAxisAlignment.spaceBetween</code>, <code>MainAxisAlignment.spaceAround</code>, و <code>MainAxisAlignment.spaceEvenly</code> را می‌پذیرد.</p>
<p>&nbsp;</p>
<h3><strong>3. crossAxisAlignment</strong></h3>
<p>خصوصیت <code>crossAxisAlignment</code> نحوه چیدمان ویجت‌ها را در محور متقاطع (عمودی) تعیین می‌کند. مقادیر مختلفی مانند <code>CrossAxisAlignment.start</code>, <code>CrossAxisAlignment.center</code>, <code>CrossAxisAlignment.end</code>, و <code>CrossAxisAlignment.stretch</code> را می‌پذیرد.</p>
<p>&nbsp;</p>
<h3><strong>4. mainAxisSize</strong></h3>
<p>خصوصیت <code>mainAxisSize</code> اندازه Row را در محور اصلی تعیین می‌کند. این خصوصیت دو مقدار <code>MainAxisSize.max</code> و <code>MainAxisSize.min</code> را می‌پذیرد. مقدار <code>MainAxisSize.max</code> به Row اجازه می‌دهد که فضای موجود را به طور کامل اشغال کند، در حالی که مقدار <code>MainAxisSize.min</code> فقط فضای مورد نیاز برای محتوای Row را استفاده می‌کند.</p>
<p>&nbsp;</p>
<h3><strong>5. textDirection</strong></h3>
<p>خصوصیت <code>textDirection</code> جهت چیدمان متن را تعیین می‌کند. مقادیر <code>TextDirection.ltr</code> (چپ به راست) و <code>TextDirection.rtl</code> (راست به چپ) را می‌پذیرد.</p>
<p>&nbsp;</p>
<h3><strong>6. verticalDirection</strong></h3>
<p>خصوصیت <code>verticalDirection</code> جهت عمودی چیدمان ویجت‌ها را تعیین می‌کند. مقادیر <code>VerticalDirection.up</code> و <code>VerticalDirection.down</code> را می‌پذیرد.</p>
<p>&nbsp;</p>
<h3><strong>7. textBaseline</strong></h3>
<p>خصوصیت <code>textBaseline</code> برای تنظیم خط پایه متن درون ویجت‌های Row استفاده می‌شود. مقادیر <code>TextBaseline.alphabetic</code> و <code>TextBaseline.ideographic</code> را می‌پذیرد.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d40000;">مثال‌های کاربردی ویجت Row</span></strong></h2>
<h3><strong>1. چیدمان افقی دکمه‌ها با فاصله مساوی</strong></h3>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<p>&nbsp;</p>
<figure id="attachment_2173" aria-describedby="caption-attachment-2173" style="width: 577px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2173" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-5.png" alt="چیدمان افقی دکمه‌ها با فاصله مساوی" width="577" height="540" /><figcaption id="caption-attachment-2173" class="wp-caption-text">چیدمان افقی دکمه‌ها با فاصله مساوی</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، دکمه‌ها به صورت افقی و با فاصله مساوی از هم قرار گرفته‌اند.</p>
<h3><strong>2. چیدمان ویجت‌ها در ابتدا و انتهای Row</strong></h3>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<p>&nbsp;</p>
<figure id="attachment_2174" aria-describedby="caption-attachment-2174" style="width: 577px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2174" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-6.png" alt="چیدمان ویجت‌ها در ابتدا و انتهای Row" width="577" height="372" srcset="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-6.png 577w, https://programmingshow.ir/wp-content/uploads/2024/06/carbon-6-300x193.png 300w" sizes="(max-width: 577px) 100vw, 577px" /><figcaption id="caption-attachment-2174" class="wp-caption-text">چیدمان ویجت‌ها در ابتدا و انتهای Row</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، آیکون‌ها در ابتدا و انتهای Row و متن در وسط قرار گرفته‌اند.</p>
<h3><strong>3. استفاده از CrossAxisAlignment برای چیدمان عمودی</strong></h3>
<p>&nbsp;</p>
<figure id="attachment_2175" aria-describedby="caption-attachment-2175" style="width: 577px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2175" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-7.png" alt=" استفاده از CrossAxisAlignment برای چیدمان عمودی" width="577" height="558" /><figcaption id="caption-attachment-2175" class="wp-caption-text">استفاده از CrossAxisAlignment برای چیدمان عمودی</figcaption></figure>
<p>&nbsp;</p>
<p>در این مثال، سه کانتینر با ارتفاع‌های مختلف درون Row قرار گرفته‌اند و با استفاده از <code>CrossAxisAlignment.start</code>، همگی از بالای Row چیده شده‌اند.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong><span style="color: #d40000;">نتیجه‌گیری</span></strong></p>
<p>ویجت Row یکی از ویجت‌های پایه‌ای و بسیار کاربردی در فلاتر است که به شما امکان می‌دهد ویجت‌ها را به صورت افقی در کنار هم قرار دهید. با استفاده از خصوصیات مختلف این ویجت، می‌توانید چیدمان‌های متنوع و پیچیده‌ای را ایجاد کنید و رابط کاربری مورد نظر خود را بسازید. یادگیری نحوه استفاده از ویجت Row و ترکیب آن با سایر ویجت‌ها می‌تواند به شما در دوره فلاتر کمک کند تا برنامه‌های حرفه‌ای و کاربرپسند بسازید.</p>
<p>امیدواریم این مقاله به شما در یادگیری و استفاده بهتر از ویجت Row در فلاتر کمک کرده باشد. برای اطلاعات بیشتر و آموزش‌های جامع‌تر، می‌توانید به دوره‌های فلاتر programming show مراجعه کنید و مهارت‌های خود را در این فریمورک محبوب افزایش دهید.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/row-widget-flutter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>اموزش رایگان فلاتر مقدماتی &#8211; ویجت Image در فلاتر</title>
		<link>https://programmingshow.ir/flutter-image-widget/</link>
					<comments>https://programmingshow.ir/flutter-image-widget/#respond</comments>
		
		<dc:creator><![CDATA[mehrabbozorgi]]></dc:creator>
		<pubDate>Tue, 04 Jun 2024 06:30:15 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش فلاتر]]></category>
		<category><![CDATA[آموزش مقدماتی فلاتر]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<guid isPermaLink="false">https://programmingshow.ir/?p=850</guid>

					<description><![CDATA[اگر در حال یادگیری فلاتر هستید یا به دنبال دوره فلاتر مناسب می‌گردید، یکی از مهم‌ترین مفاهیمی که باید به آن مسلط شوید، استفاده از ویجت‌های مختلف است.]]></description>
										<content:encoded><![CDATA[<h2><strong><span style="color: #d90000;">ویجت Image در فلاتر</span></strong></h2>
<p>اگر در حال یادگیری <a href="https://docs.flutter.dev/get-started/install" target="_blank" rel="noopener">فلاتر</a> هستید یا به دنبال دوره فلاتر مناسب می‌گردید، یکی از مهم‌ترین مفاهیمی که باید به آن مسلط شوید، استفاده از ویجت‌های مختلف است. یکی از این ویجت‌ها که بسیار کاربردی است، ویجت Image است. در این مقاله به بررسی <a href="https://api.flutter.dev/flutter/widgets/Image-class.html" target="_blank" rel="noopener">ویجت Image</a> در فلاتر خواهیم پرداخت و نحوه استفاده از آن را با جزئیات توضیح خواهیم داد.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">فلاتر چیست؟</span></strong></h2>
<p>قبل از آنکه به ویجت <a href="https://programmingshow.ir/?p=850&amp;preview=true"><strong>Image</strong></a> بپردازیم، بیایید نگاهی کوتاه به فلاتر بیاندازیم. فلاتر یک فریمورک متن‌باز برای توسعه برنامه‌های موبایل، وب و دسکتاپ است که توسط گوگل ایجاد شده است. این فریمورک به توسعه‌دهندگان امکان می‌دهد تا با استفاده از یک کد واحد، برنامه‌هایی با کیفیت بالا و عملکرد بی‌نظیر بسازند. یکی از ویژگی‌های بارز فلاتر، استفاده از ویجت‌ها برای ساخت رابط کاربری است.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">معرفی ویجت Image</span></strong></h2>
<p>ویجت Image در فلاتر برای نمایش تصاویر به کار می‌رود. این ویجت به شما امکان می‌دهد تصاویر را از منابع مختلف مانند شبکه، فایل‌های محلی، یا حتی از حافظه‌ی دستگاه بارگذاری و نمایش دهید. در ادامه به بررسی انواع مختلف این ویجت و نحوه استفاده از آنها خواهیم پرداخت.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">انواع ویجت Image</span></strong></h2>
<h3>Image.network</h3>
<p>این نوع از ویجت Image برای نمایش تصاویر از طریق URLهای اینترنتی استفاده می‌شود. مثال زیر نحوه استفاده از این ویجت را نشان می‌دهد:</p>
<p>&nbsp;</p>
<figure id="attachment_2165" aria-describedby="caption-attachment-2165" style="width: 529px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2165" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon.png" alt=" ویجت Image" width="529" height="316" /><figcaption id="caption-attachment-2165" class="wp-caption-text">ویجت Image</figcaption></figure>
<p>&nbsp;</p>
<h3>2. Image.asset</h3>
<p>این ویجت برای نمایش تصاویر محلی که در پوشه <code>assets</code> پروژه شما قرار دارند، استفاده می‌شود. مثال زیر نحوه استفاده از این ویجت را نشان می‌دهد:</p>
<p>&nbsp;</p>
<figure id="attachment_2166" aria-describedby="caption-attachment-2166" style="width: 529px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-2166 size-full" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-1.png" alt="Image.asset" width="529" height="316" /><figcaption id="caption-attachment-2166" class="wp-caption-text">Image.asset</figcaption></figure>
<p>&nbsp;</p>
<h3>3.Image.file</h3>
<p>این ویجت برای نمایش تصاویری که از حافظه دستگاه بارگذاری می‌شوند، کاربرد دارد. مثال زیر نحوه استفاده از این ویجت را نشان می‌دهد:</p>
<p>&nbsp;</p>
<figure id="attachment_2167" aria-describedby="caption-attachment-2167" style="width: 529px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2167" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-2.png" alt="Image.file" width="529" height="354" /><figcaption id="caption-attachment-2167" class="wp-caption-text">Image.file</figcaption></figure>
<p>&nbsp;</p>
<h3>4. Image.memory</h3>
<p>این ویجت برای نمایش تصاویری که به صورت باینری در حافظه ذخیره شده‌اند، استفاده می‌شود. مثال زیر نحوه استفاده از این ویجت را نشان می‌دهد:</p>
<div class="dark bg-gray-950 rounded-md border-[0.5px] border-token-border-medium"></div>
<h2></h2>
<figure id="attachment_2168" aria-describedby="caption-attachment-2168" style="width: 529px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2168" src="https://programmingshow.ir/wp-content/uploads/2024/06/carbon-3.png" alt="Image.memory" width="529" height="316" /><figcaption id="caption-attachment-2168" class="wp-caption-text">Image.memory</figcaption></figure>
<p>&nbsp;</p>
<h2><strong><span style="color: #d90000;">خصوصیات مهم ویجت Image</span></strong></h2>
<h3>fit</h3>
<p>خصوصیت <code>fit</code> نحوه قرارگیری تصویر در جعبه ویجت را تعیین می‌کند. این خصوصیت می‌تواند مقادیر مختلفی مانند <code>BoxFit.cover</code>, <code>BoxFit.contain</code>, <code>BoxFit.fill</code>, و غیره را بپذیرد.</p>
<p>&nbsp;</p>
<h3>width و height</h3>
<p>این خصوصیات اندازه عرض و ارتفاع ویجت را تعیین می‌کنند. با تنظیم این مقادیر، می‌توانید اندازه تصویر را به دلخواه تغییر دهید.</p>
<p>&nbsp;</p>
<h3>color و colorBlendMode</h3>
<p>این خصوصیات برای تغییر رنگ و نحوه ترکیب رنگ تصویر استفاده می‌شوند. می‌توانید از آنها برای ایجاد افکت‌های مختلف روی تصویر استفاده کنید.</p>
<p>&nbsp;</p>
<h3>alignment</h3>
<p>این خصوصیت موقعیت تصویر را در داخل جعبه ویجت تعیین می‌کند. مقدار پیش‌فرض آن <code>Alignment.center</code> است، اما می‌توانید مقادیر دیگری مانند <code>Alignment.topLeft</code> یا <code>Alignment.bottomRight</code> را نیز استفاده کنید.</p>
<h2></h2>
<p><strong><span style="color: #d90000;">نتیجه‌گیری</span></strong></p>
<p>ویجت Image یکی از ویجت‌های پایه و بسیار مهم در فلاتر است که کاربردهای متنوعی دارد. با استفاده از این ویجت می‌توانید تصاویر را از منابع مختلف بارگذاری و نمایش دهید و با تنظیم خصوصیات مختلف، به نحوی که نیاز دارید آن‌ها را تغییر دهید. یادگیری نحوه استفاده از ویجت Image می‌تواند به شما کمک کند تا در دوره فلاتر خود پیشرفت کنید و برنامه‌های کاربرپسندتری بسازید.</p>
<p>امیدواریم این مقاله به شما در یادگیری و استفاده بهتر از ویجت Image در فلاتر کمک کرده باشد. برای اطلاعات بیشتر و آموزش‌های جامع‌تر، می‌توانید به دوره‌های فلاتر مراجعه کنید و مهارت‌های خود را در این فریمورک محبوب افزایش دهید.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmingshow.ir/flutter-image-widget/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
