You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/09-classes/04-private-protected-properties-methods/article.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
4
4
یکی از مهمترین قواعد برنامهنویسی شیءگرا -- محدود کردن رابط داخلی از رابط بیرونی است.
5
5
6
-
یعنی یک کارِ «بایدی» در توسعه هر چیزی پیچیدهتر از یک برنامه "hello world".
6
+
یعنی یک کارِ «بایدی» در توسعه هر چیزی پیچیدهتر از یک برنامهی «hello world».
7
7
8
8
برای فهمیدن این موضوع، بیایید از توسعه دور شویم و به دنیای واقعی نگاه کنیم.
9
9
@@ -38,7 +38,7 @@
38
38
-*رابط درونی* -- متدها و ویژگیها، قابل دسترس از متدهای دیگر کلاس، اما نه از بیرون.
39
39
-*رابط بیرونی* -- متدها و ویژگیها، قابل دسترس از بیرون از کلاس.
40
40
41
-
اگر ما مثال قهوهساز را ادامه دهیم -- چیزی که درون آن است: یک مجرای بخار، المنت حرارت و غیره -- رابط درونی است.
41
+
اگر ما مقایسه را با قهوهساز ادامه دهیم -- چیزی که درون آن است: یک مجرای بخار، المنت حرارت و غیره -- رابط درونی است.
42
42
43
43
یک رابط درونی برای اینکه شیء کار کند استفاده میشود، جزئیات آن از یکدیگر استفاده میکنند. برای مثال، یک مجرای بخار به المنت حرارت متصل شده است.
44
44
@@ -303,7 +303,7 @@ class User {
303
303
304
304
**اگر ما به صورت سختگیرانه رابط درونی را جداسازی کنیم، سپس توسعهدهندهی کلاس آزادانه میتواند ویژگیها و متدهای درون آن را تغییر دهد، حتی بدون اینکه کاربران را خبردار کند.**
305
305
306
-
اگر شما توسعهدهنده چنین کلاسی باشید، این عالی است که بتوانید متدهای خصوصی را با خیال راحت تغییر نام دهید، پارامترهای آنها را تغییر دهید و حتی حذف کنید، چون هیچ کد بیرونی به آنها وابسته نیست.
306
+
اگر شما توسعهدهنده چنین کلاسی باشید، این خوب است که بتوانید متدهای خصوصی را با خیال راحت تغییر نام دهید، پارامترهای آنها را تغییر دهید و حتی حذف کنید، چون هیچ کد بیرونی به آنها وابسته نیست.
307
307
308
308
برای کاربران، زمانی که نسخهای جدید منتشر میشود، ممکن است از درون تعمیرات اساسی نیاز داشته باشد اما اگر رابط بیرونی یکسان باشد هنوز برای ارتقا دادن ساده است.
309
309
@@ -319,4 +319,4 @@ class User {
319
319
- فیلدهای محافظتشده با `_` شروع میشوند. این یک قرارداد شناختهشده است و در سطح زبان اجرایی نشدهاند. برنامهنویسان فقط باید از درون کلاس و کلاسهایی که از آن ارث میبرند، به فیلدی که با `_` شروع میشود دسترسی پیدا کنند.
320
320
- فیلدهای خصوصی با `#` شروع میشوند. جاوااسکریپت مطمئن میشود که ما فقط از درون کلاس بتوانیم به آنها دسترسی پیدا کنیم.
321
321
322
-
در حال حاضر، فیلدهای خصوصی به خوبی در میان مرورگرها پشتیبانی نمیشوند اما میتوان برای آنها پلیفیل ساخت.
322
+
در حال حاضر، فیلدهای خصوصی به خوبی در میان مرورگرها پشتیبانی نمیشوند اما میتوان برای آنها از پلیفیلها استفاده کرد.
0 commit comments