کلاس ها/آبجکت ها (Classes/Objects)
در کاتلین، همه چیز حول «کلاس ها و آبجکت ها» می چرخد. «کلاس (Class)» قالب است؛ «آبجکت (Object)» نمونه ساخته شده از آن قالب است. با این مدل، کد مرتب تر می شود و تکرار کم می شود.
کلاس ها و آبجکت ها در کاتلین
مثل مدرسه فکر کن: «دانش آموز» یک کلاس است؛ «علی» و «نگار» آبجکت های آن هستند. کلاس ویژگی ها و توابع مشترک می دهد؛ هر آبجکت داده خودش را دارد.
نکته: ویژگی (Property) یعنی متغیر عضو کلاس. متد (Method) یعنی تابع عضو کلاس.
ساخت کلاس (Class)
برای ساخت کلاس از class استفاده کن و نام بگذار. بهتر است نام کلاس با حرف بزرگ شروع شود.
class Car {
var brand = ""
var model = ""
var year = 0
}
ساخت آبجکت و دسترسی به ویژگی ها
حالا از Car یک آبجکت می سازیم، بعد با نقطه به ویژگی ها دسترسی می گیریم و مقدار می دهیم.
// ساخت یک آبجکت از کلاس Car
val c1 = Car()
// مقداردهی ویژگی ها
c1.brand = "Ford"
c1.model = "Mustang"
c1.year = 1969
println(c1.brand)
println(c1.model)
println(c1.year)
هشدار: حروف بزرگ و کوچک مهم اند. Car با car فرق دارد.
چند آبجکت از یک کلاس
می توانی چند آبجکت بسازی. هرکدام داده خودش را دارد اما از یک قالب اند.
val c1 = Car()
c1.brand = "Ford"
c1.model = "Mustang"
c1.year = 1969
val c2 = Car()
c2.brand = "BMW"
c2.model = "X5"
c2.year = 1999
println(c1.brand)
println(c2.brand)
گام های تمرینی
- یک کلاس ساده به نام
Studentبساز. - دو ویژگی مثل
nameوgradeاضافه کن. - دو آبجکت بساز و چاپشان کن.
برای ادامه مسیر، فصل سازنده ها (Constructors) را ببین. اگر مفهوم کلی را می خواهی، به برنامه نویسی شیءگرا برگرد.
جمع بندی سریع
- کلاس = قالب؛ آبجکت = نمونه.
- ویژگی ها داده عضو کلاس هستند.
- با نقطه به ویژگی ها دسترسی بگیر.
- چند آبجکت مستقل می توان ساخت.