تفویض اختیار
کپی سرگرم کننده ( foo: String = this.foo ، boo: Int = this.boo ) به ما اجازه می دهد تنها برخی از پارامترهای جدید را با استفاده از پارامترهای قدیمی به عنوان پیش فرض عبور دهیم. این نیز یک جایگزین عالی برای الگوهایی مانند Builder است که اشیاء جدیدی را ایجاد می کند و به ویژگی های پیش فرض یا اختیاری اجازه می دهد. تفویض اختیار تفویض اختیار بر سر ارث. من معتقدم که این یکی از مهمترین و مفیدترین قوانین در مورد برنامه نویسی شی گرا است. نمایندگی نشان داد که یک الگوی بسیار تمیزتر و انعطاف پذیرتر برای به اشتراک گذاشتن کد پیاده سازی نسبت به وراثت ساده است. کوتلین به آن اجازه می دهد تا شیء پیاده سازی را مشخص کند ، که در توابع پیاده سازی خودکار استفاده می شود. رابط MyInterface { سرگرم کننده doStuff () } کلاس CoolMyInterface: MyInterface { سرگرم کننده doStuff () { //چیزهای جالب } } کلاس MyDerivedClass: MyInterface (impl: MyInterface):...