tejariapp-new-logotejariapp-new-logotejariapp-new-logotejariapp-new-logo
  • صفحه اصلی
  • پروژه ها
    • پروژه طراحی سایت
    • پروژه های اندروید
    • پروژه های تحت ویندوز
    • UI & UX
    • ربات تلگرام
  • سفارش پروژه
    • انجام پروژه اندروید (Android)
    • طراحی و ساخت اپلیکیشن موبایل
    • انجام پروژه طراحی سایت با php
    • انجام پروژه طراحی سایت با Asp.net
    • انجام پروژه سی شارپ
    • فرم سفارش پروژه
  • مدرسه ی تجاری اپ
    • طراحی سایت
    • اندروید
    • سی شارپ
    • آموزش پایگاه داده
    • برنامه های کاربردی
  • لینک های مفید
    • پرداخت آنلاین
    • درباره تجاری اپ
    • تماس با ما
استخدام برنامه نویس متلب
سفارش پروژه
✕
            هیچ نتیجه ای یافت نشدمشاهده همه نتایج

            کلاس و شی در کاتلین – آموزش برنامه نویسی kotlin

            • صفحه نخست
            • مدرسه ی تجاری اپ آموزش اندروید
            • کلاس و شی در کاتلین – آموزش برنامه نویسی kotlin
            تعریف متغیر در کاتلین - آموزش برنامه نویسی kotlin
            تعریف متغیر در کاتلین – آموزش برنامه نویسی kotlin
            9 شهریور 1398
            ارث بری در کاتلین
            ارث بری در کاتلین – آموزش برنامه نویسی kotlin
            13 شهریور 1398
            منتشر شده توسط مهندس داودی
            کلاس و شی در کاتلین

            کلاس و شی در کاتلین

            کلاس و شی در کاتلین – آموزش برنامه نویسی kotlin ، در این قسمت از آموزش زبان Kotlin به مفهوم class و object در زبان کاتلین پرداخته ایم. در کاتلین هم مانند جاوا ما شی گرایی را کامل داریم حتی با سینتکس بسیار ساده تر و راحتتر ! درباره شی گرایی خیلی توضیح نمیدیم چون بصورت کامل در چند پست از تجاری اپ شی گرایی را آموزش داده ایم

            همچنین بخوانید : آموزش شی گرایی

            کلاس ها در کاتلین به چندین نوع تبدیل خواهند شد که در ادامه این پست تمامی نوع هارو بررسی خواهیم کرد 🙂

            کلاس و شی در کاتلین

            برای ساخت یک کلاس ساده در کاتلین بصورت ساده تنها کافیست کلمه کلیدی class و نام مورد نظر کلاس را بنویسیم:

            class Person {
                 var name = "Ali"
                 var age = 21
             }
            

            در بلاک فوق ما یک کلاس با دو متغیر ساختیم و همینطور که میبینید دیگر نیازی به نوشتن public نیست چون بطور پیشفرض کلاس ها پابلیک تعریف میشوند
            اما اگر بخواهیم کلاس را با سطح دسترسی دیگری مثلا private یا protected تعریف کنیم باید آنها را ذکر کنیم
            در نهایت هم برای استفاده از این کلاس کافیست دستورات زیر را بنویسیم:

             val a = Person()
             val b = Person()
             println("${a.age} ${b.age}") // Prints "21 21"
             a.age = 42
             println("${a.age} ${b.age}") // Prints "42 21"
            

            Getters and Setters

            همونطور که میبینید ما getter و setter ی برای فیلدهای کلاس نذاشتیم چو در کاتلین getter و setter ساده که فقط مقدار را return کنه (برگرداند) و یا مقداردهی کند برای فیلد ساخته میشود و دیگر نیازی به ساختن ما نیست اما اگر بخواهیم getter و setter سفارشی سازی شده ای (مثلا شرطی یا کد دیگری زمان برگرداندن و مقداردهی کردن) اعمال کنیم میتونیم متدهای get ، set کاتلین رو فراخوانی کنیم.

            برای مثال :

             class Person(age: Int) {
                 var age = 0
                     set(value) {
                         if (value < 0) throw IllegalArgumentException(
                                 "Age cannot be negative")
                         field = value
                     }
            init {
                 this.age = age
             }
            }
            

            سازنده ها و بلاک های مقداردهی ( Constructors and initializer blocks )

            کلاس ها میتوانند یک سازنده اصلی که زمان ساخت شی صدا زده میشود داشته باشند که با ساختار زیر پیاده میشود:

            class Person(firstName: String, lastName: String, yearOfBirth: Int) {
                 val fullName = "$firstName $lastName"
                 var age: Int
            init {
                age = 2018 - yearOfBirth
            }
            }
            

            همونطور که مشاهده میکنید سازنده درواقع جلوی نام کلاس پیاده میشود و پارامترهای مورد نیاز را دریافت میکند ،همچنین بلاک init که بلاک مقداردهی ست که کاتلین در اختیار ما قرار میده برای مقدار دهی اولیه (زمان ساخت شی) متغیر ها.

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

            class Person(val name: String, var age: Int) {
                 constructor(name: String) : this(name, 0)
                 constructor(yearOfBirth: Int, name: String)
                     : this(name, 2018 - yearOfBirth)
             }
            

            با کلمه کلیدی constructor میتونید سازنده با هر تعداد پارامتر بسازید اما درنظر داشته باشید که سازنده ای که میسازید باید از سازنده اصلی کلاس (سازنده ای که جلوی نام کلاس پیاده شده) پیروی کند ،که این عمل پیروی با علامت : (در ادامه بیشتر در باره ارث بری در کاتلین توضیح خواهیم داد) انجام میشود پس سازنده ای که میسازید باید مقادیری که سازنده اصلی کلاس نیاز دارد را تامین کند ،ولی اگر سازنده اصلی شما پارامتری نداشته باشد بلاک بالا بدین صورت خواهد شد:

            class Person() {
                 constructor(name: String) : this()
                 constructor(yearOfBirth: Int, name: String)
                     : this()
             }
            

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

            val a = Person("ali", 35)
             val b = Person("reza") // age = 0
             val c = Person(1374, "amir") // age = 23
            

            نکته:
            Data classes
            نوعی از کلاس های کاتلین درواقع Data class ها هستند که کمی بیشتر از کلاس های دیگر برای ذخیره و بازیابی داده ها استفاده میشوند . چرا؟
            چون data class ها برای شما عملگرهای equals() برای مقایسه ، toString() برای برگرداندن داده ها بصورت رشته مرتب ، hashCode() برای برگرداندن داده ها بصورت هش شده و دیگر عملگر های پرکاربرد را فراهم میکند تا بتوانید بیشتر با داده های خود بازی کنید 🙂

            در پست بعدی درباره ارث بری در کاتلین صحبت خواهیم کرد.

            اشتراک گذاری

            پست های مرتبط

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            30 بهمن 1400

            دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            30 بهمن 1400

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            توابع در زبان برنامه نویسی دارت (Dart)

            توابع در زبان برنامه نویسی دارت (Dart)

            27 بهمن 1400

            توابع در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب

            1 Comment

            1. nd گفت:
              21 آبان 1400 در 23:54

              سلام ممنون از شما از مطلب استفاده و باذکر نام کپی کردم.

              پاسخ

            دیدگاهتان را بنویسید لغو پاسخ

            نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

            ساخت اپلیکیشن های موبایل

            • ساخت اپلیکیشن فروشگاهی
            • ساخت اپلیکشن ابزاری و خدماتی
            • ساخت اپلیکیشن آموزشی
            • و هزاران موضوع دیگر

             
            کلیک کنید

            آخرین دیدگاه ها

            • 7 خرداد 1401

              داودی نظر در آموزش استفاده از ckeditor همراه با آپلود عکس در لاراول 6

            • 6 فروردین 1401

              yasaman نظر در راست چین کردن متن در فیگما Figma

            • 3 فروردین 1401

              رضا نظر در مفاهیم Observable و Observer در RxJava

            تجاری اپ در شبکه های اجتماعی

            لوگوی تایید پرداخت آنلاین

            2015-2022 © تمامي حقوق مادي و معنوي اين وب سايت نزد تجاری اپ محفوظ بوده و هر گونه کپي برداري از مطالب پيگرد قانوني به همراه دارد! | طراح سایت : ProgRun
            سفارش پروژه
                      هیچ نتیجه ای یافت نشدمشاهده همه نتایج