Запитання з тегом «traits»

У комп'ютерному програмуванні ознака - це сукупність методів, що використовується як "проста концептуальна модель для структурування об'єктно-орієнтованих програм"

11
Яка різниця між підкласами самотипів та ознаками?
Самонабір для ознаки A: trait B trait A { this: B => } говорить, що " Aне можна змішувати в конкретний клас, який також не поширюється B" . З іншого боку, наступне: trait B trait A extends B говорить, що "будь-яке (конкретний чи абстрактний) клас змішування Aтакож буде змішуватися в …
387 scala  traits  self-type 


4
Як перекрити функцію ознаки та викликати її з перекритої функції?
Сценарій: trait A { function calc($v) { return $v+1; } } class MyClass { use A; function calc($v) { $v++; return A::calc($v); } } print (new MyClass())->calc(2); // should print 4 Цей код не працює, і я не можу знайти спосіб викликати функцію ознаки, як це було успадковано. Я намагалася …
369 php  traits 

13
Риси та інтерфейси
Останнім часом я намагаюся вчитися на PHP, і мені здається, що я зациклювався на рисах. Я розумію поняття повторного використання горизонтального коду і не хочу обов'язково успадковувати від абстрактного класу. Що я не розумію, це: в чому суттєва різниця між використанням ознак та інтерфейсів? Я намагався шукати гідну публікацію чи …
344 php  interface  traits 

5
Що таке запечатана ознака?
Запечатані класи описані в «Програмуванні в Scala», але запечатані ознаки - ні. Де я можу знайти більше інформації про запечатану ознаку? Хотілося б знати, якщо запечатана ознака збігається із запечатаним класом? Або, якщо ні, які відмінності? Коли корисно використовувати запечатану ознаку (а коли ні)?
332 scala  sealed  traits 



5
Риси PHP - будь-які реальні приклади / кращі практики? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
148 php  traits 

4
Чи можна визначити тип параметра і тип повернення лямбда?
Враховуючи лямбда, чи можна з'ясувати, що це тип параметра та тип повернення? Якщо так, то як? В основному, я хочу, lambda_traitsщо його можна використовувати наступними способами: auto lambda = [](int i) { return long(i*10); }; lambda_traits<decltype(lambda)>::param_type i; //i should be int lambda_traits<decltype(lambda)>::return_type l; //l should be long Мотивація полягає в …

1
Методи за замовчуванням Java 8 як риси: безпечні?
Чи безпечна практика використання методів за замовчуванням як версії рис чорношкірих людей у Java 8? Деякі стверджують, що це може зробити панди сумними, якщо ви використовуєте їх просто заради цього, адже це круто, але це не мій намір. Також часто нагадується, що методи підтримки за замовчуванням були введені для підтримки …

3
Коли використовувати val або def в рисах Scala?
Я переглядав ефективні слайди Scala, і на слайді 10 згадується ніколи не використовувати valв a traitдля абстрактних членів і використовувати defзамість них. У слайді детально не згадується, чому використання абстрактних valв a traitє анти-шаблоном. Буду вдячний, якщо хтось зможе пояснити найкращі практики використання val проти def як риси для абстрактних …

4
Чому PHP Trait не може реалізувати інтерфейси?
Мені цікаво, чому PHP Trait (PHP 5.4) не може реалізувати інтерфейси. Оновлення з відповіді користувача1460043 => ... не може вимагати класу, який використовує його для реалізації певного інтерфейсу Я розумію, що це може бути очевидним, тому що люди можуть думати, що якщо a Class Aвикористовує a, Trait Tякий реалізує a …
83 php  oop  interface  traits 


2
Чому `std :: mem :: drop` точно так само, як і закриття | _ | () у межах вищого рангу?
Реалізація std::mem::dropдокументально підтверджена таким чином: pub fn drop<T>(_x: T) { } Як таке, я б очікував, що закриття |_| ()(у розмові відоме як закриття туалету ) буде потенційною заміною 1: 1 dropв обох напрямках. Однак, наведений нижче код показує, що dropвін не сумісний із ознакою вищого рейтингу, прив'язаною до параметра …

4
Як повернути асоційований тип із присвоєної рисою вищої категорії?
У мене є ознака, яка має функцію десеріалізації асоційованого типу. Однак цей асоційований тип повинен мати тривалість життя, яку вирішує абонент, тому у мене є окрема ознака, для якої я використовую присвоєну рису вищого рангу, щоб її можна було дезаріалізувати протягом будь-якого життя. Мені потрібно використовувати закриття, яке повертає цей …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.