تاریخ انتشار: جمعه, ۲ خرداد ۱۳۹۹، ۰۶:۳۱ ق.ظ نویسنده: محمدیان
استفاده از کلاس ها برای ایجاد اشیا
مجوزهای دسترسی به خواص و متودهای کلاس:
public : پیشفرض - هم در خود کلاس و هم در خارج کلاس قابل دسترسی و استفاده است.
protected : فقط درون کلاس جاری(خود کلاس) و فرزندان کلاس قابل دسترسی است. یعنی در کلاس های فرزند نیز میتوان با کلمه کلیدی this به خواص و متودهای protected دسترسی داشت.
private : فقط و فقط در خود کلاس قابل استفاده است و حتی فرزندان کلاس نمیتوانند به خواص و متودهای private دسترسی داشته باشند.
مثال کلاس :
class Person { name:string; // default is public accesor private type:string; protected age:number; constructor(name:string,public userName:string){ this.name = name; } } const person = new Person("Mokhtar","Mohammadiyan"); console.log(person) console.log(person.name)
نکنه مهم : پارامترهایی که در constructer تعریف میشوند هم خواص کلاس هستند که به صورت ورودی دریافت میشوند.
متودهای درون کلاس و دسترسی به یکدیگر
class Person { name:string; // default is public accesor private type:string; protected age:number; constructor(name:string,public userName:string){ this.name = name; this.age = 34; } printAge():void{ this.setType("Old Guy"); console.log(this.age); } setType(type:string):void{ this.type = type; console.log(this.type); } } const person = new Person("Mokhtar","Mohammadiyan"); person.printAge(); person.setType("Old");
اگر متود setType را به صورت private تعریف کرده بودیم، فقط در داخل کلاس قابل استفاده بود و در مثال فوق ما پیغام خطای کامپایلر مواجه میشدیم.
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
پروفایل
نکات، تجربیات، محتوای آموزشی و مطالب گردآوری شده در حوزه برنامه نویسی وب