/آموزش شی گرایی در زبان دارت: مفهوم کلاس
زبان دارت

آموزش شی گرایی در زبان دارت: مفهوم کلاس

شی گرایی یا OOP یکی از مباحث مهم برنامه نویسی هست که پیشنهاد میکنم حتما وقت بذارید و بصورت عملی کامل درک کنید و یاد بگیرید. امروز در قسمت اول با مفهوم کلاس ها آشنا میشویم.

تقریبا امروزه ۹۰ درصد برنامه ها از شی گرایی استفاده می کنند.

زبان دارت
برنامه نویسی شی گرا

شی و کلاس

ش

در مطالب قبلی با تعریف متغیر آشنا شدیم. دیدیم که هر نوع متغیری یک سری خاصیت های متفاوتی دارد اما تعداد محدودی هم متغیر داریم.

در برنامه نویسی شی گرا ما میایم از ترکیب متغیر ها استفاده می کنیم و نوع متغیر خودمون و میسازیم و ازش استفاده می کنیم که بهش میگیم کلاس. حالا همونطور که متغیر تعریف میکردیم میتونیم بیایم از کلاس خودمون یک شی تعریف کنیم. 


String a;
Car c;

در کد بالا یک متغیر از نوع String به نام a ساختیم و در خط بعدی یک کلاس که جلوتر میسازیم به نام Car داریم که از این کلاس یک شی به نام c تعریف کردیم, میبنیم که هیچ تفاوتی با تعریف متغیر ندارد.

برای تعریف کلاس یک فایل جدید ایجاد کنید. سپس از کلمه کلیدی Class استفاده میکنیم و بعد نام کلاس را مینویسیم.


Class Car{
}

برای کلاس خودمون یک متد تعریف میکنم به شکل زیر.


Class Car{
void Showname(){
print('BMW');
}
}

حالا با استفاده شی که از این کلاس ساختیم میتونیم به متد های این کلاس هم دسترسی داشته باشیم.



Class car = new Car();
car.Showname();

در متن بالا شی خودمون و بعد از تعریف حتما باید new کنیم سپس با استفاده شی که ساختیم متد Showname و صدا میزنیم که کار این متد نمایش متن BMW می باشد.

برای کلاس ها میتونیم ویژگی های گوناگون قرار دهیم مثلا برای کلاس Car که مربوط به ماشین هست دوتا ویژگی اسم ماشین و رنگ ماشین و اضافه می کنیم.



class Car{
String name;
String color;
Car(String name,String color) {
  print("name: $name - color:$color");
}
String getname(){
  return name;
}
}

برای کلاس Car دوتا ویژگی نام و رنگ و از نوع String تعریف کردیم.

در این کلاس یک متد همنام کلاس داریم که متد سازنده یا Constructor نام دارد, متد سازنده وقتی یک شی از کلاس میسازید صدا زده می شود. در اینجا هم متد سازنده دوتا پارامتر دارد موقع تعریف شی باید مقداردهی کنیم و سپس با دستور پرینت این دو ویژگی را نمایش می دهد.

همچنین کلمه کلیدی this برای اشاره به ویژگی که داخل کلاس تعریف کردیم به کار میرود. که پارامتر های ورودی کاربر از طریق متد سازنده و با ویژگی ها خود کلاس برابر می کنیم.

متد getname نام ماشین را بر میگرداند.

به صورت کلی هر کلاس دوتا بخش مهم دارد یکی ویژگی های کلاس و دیگری متد های کلاس.