Публикации по теме 'traits'


Javascript OOP — Устранение ограничения одиночного наследования с помощью trait.js
Сталкивались ли вы с ситуацией, когда вам нужно больше, чем просто то, что родительский класс может предоставить дочернему классу? У Php есть свой способ решения этой ситуации, Php — Traits . Trait — это классоподобная структура, которая позволяет вам наследовать методы других классов, особенно тех, у которых уже есть родительский класс. Это позволяет вам повторно использовать код, который уменьшает ограничение одиночного наследования , позволяя разработчику свободно повторно..

Вопросы по теме 'traits'

Обработка закрытых полей в трейтах Scala при их реализации в Java
При реализации трейта Scala необходимо реализовать методы трейта и просто вызвать соответствующий статический метод на Foo$class.class . Однако я не уверен, как обращаться с частными полями, которые определены в свойстве. То есть, если в трейте...
251 просмотров
schedule 24.07.2022

Что еще более идиоматично в Scala: trait TraitA extends TraitB or trait TraitA { self: TraitB =› }
Помимо аспекта наследования, есть ли разница между следующими шаблонами классов: 1| trait TraitA extends TraitB 2| trait TraitA { self: TraitB => } Я хотел бы разделить обязанности между TraitA и TraitB , но первый не может работать...
772 просмотров
schedule 06.07.2022

Трейт Scala и параметризация его методов
В своем приложении я хочу использовать такую ​​черту: trait HasBuffer[+A] { var items = Buffer[A]() def add[A](item: A) { items += item } def remove[A](item: A) { items -= item } def set(is: Buffer[A]) { items = is } def...
166 просмотров
schedule 01.07.2022

Перенос интерфейса Java на трейт scala с помощью дженериков
Я новичок в Scala, и мне нужно перенести часть java-приложения на Scala. У меня есть следующее определение интерфейса Java, которое выглядит следующим образом: public interface AccountDAO<A extends Account> extends CrudRepository<A,...
508 просмотров
schedule 28.04.2024

Как избежать циклических зависимостей при настройке свойств?
Это принципиальный вопрос для классов, занимающихся математическими/физическими уравнениями, где пользователю разрешено устанавливать любой параметр, на основе которого рассчитываются остальные. В этом примере я хотел бы также установить частоту,...
707 просмотров
schedule 11.07.2022

Соглашение об именах трейтов Scala, когда трейт совпадает с классом
Мне нужно создать трейт для моего класса исключительно для внедрения зависимостей для моих модульных тестов. Я действительно не предвижу каких-либо других реализаций этого трейта — просто нужно заглушить его для модульных тестов. Скажем, мой класс...
1783 просмотров
schedule 14.04.2024

Как мне лучше всего разделить поведение между актерами Akka?
У меня есть два актора Akka, которые реагируют на одни сообщения одинаково, а на другие — по-разному. Они оба отвечают на один и тот же набор сообщений. Хотите знать, как спроектировать двух моих актеров с их методами приема, через наследование,...
5264 просмотров
schedule 29.03.2024

Кто-нибудь знает о магической константе PHP для переопределенного имени черты в классе?
Чтобы упростить задачу, я заметил, что PHP, похоже, не предлагает какой-либо магической константы для определения имени, на которое свойство было изменено в классе. Поскольку на словах это звучит для меня запутанно, я приведу пример, так как это...
683 просмотров
schedule 09.10.2023

Noob to scala типы, зависящие от пути
Мне неясно, как добиться зависимых от пути типов в следующем фрагменте. Намерение состоит в том, чтобы иметь возможность использовать метод «объединения» для объединения двух куч. Для этого AFAIK требуются типы, зависящие от пути. Вот это черта...
114 просмотров
schedule 21.07.2022

Типы возвращаемых значений для нереализованных методов в типажах
Предположим, у меня есть трейт SomeTrait с нереализованным методом func . Этот метод вернет что-то, что расширяет SomeTrait . Другими словами, у меня есть что-то вроде следующего: trait SomeTrait { def func(x: Int): SomeTrait } Теперь...
933 просмотров
schedule 26.09.2022

Расширение синтаксиса Rust и особенности
Я застрял, когда пытался реализовать черты программно, используя расширения синтаксиса. Я написал минимальный пример здесь. Я надеюсь, что кто-то может помочь (или указать мне в правильном направлении). // Just some methods collection I want...
599 просмотров
schedule 01.12.2023

Проблема SFINAE при создании трейта is_iterable — это ошибка gcc?
Следующий код пытается (без использования С++ 11) создать трейт для определения того, является ли тип итерируемым в стиле STL: #include <iostream> #include <vector> template<typename C> struct IsIterable { typedef char...
554 просмотров
schedule 06.04.2024

Работает ли CodeNarc с трейтами Groovy?
У меня есть проект Gradle с исходниками Groovy, и я использую CodeNarc для проверки качества кода. В первый раз я хотел использовать Groovy trait , и кажется, что даже пустой приводит к серьезному сбою CodeNarc: Ошибка...
207 просмотров
schedule 28.03.2024

обертывание общей функции обратного вызова с разными подписями
Я пытаюсь изучить Scala, и пока он кажется очень мощным языком, но некоторые вещи кажутся труднодостижимыми, может быть, это просто моя кривая обучения. Я искал в Интернете несколько дней, но не смог найти хорошего решения, чтобы делать то, что я...
339 просмотров
schedule 25.01.2024

Формирование объекта типа из списка объектов класса
Я намерен поместить список объектов Tse в объект Bts в Java : Bts Object should contain List= List(Tse(1285927200000,1285928100000,0.0), Tse(1285928100000,1285929000000,1.0), Tse(1285929000000,1285929900000,2.0),...
98 просмотров
schedule 08.07.2022

Как хранить в векторе разные типы, реализующие один и тот же трейт, и вызывать для них общие функции?
Я изучаю Rust, и у меня возникают трудности с реализацией полиморфизма. Я хочу использовать массив для хранения Circle или Test . trait Poli { fn area(&self) -> f64; } struct Circle { x: f64, y: f64, radius:...
95 просмотров
schedule 08.01.2024

Черты Symfony и аннотации Doctrine не работают должным образом
моя цель — создать многоразовые трейты для общих задач в приложениях symfony2. Например, я хочу, чтобы при добавлении к моей сущности автоматически добавлялось поле slug и прослушиватель для обновления каждой сущности. Моя проблема возникает при...
1066 просмотров
schedule 12.08.2022

Что значит, если черта начинается с себя: Актер
Я не совсем хороший программист на Scala, и мне нужна помощь в понимании синтаксиса. Вот trait Я борюсь с: trait ActorTracing extends AroundReceiveOverrideHack { self: Actor => protected def serviceName: String =...
182 просмотров
schedule 11.08.2022

Как вызвать метод признаков из метода класса, который использует этот признак, если имена обоих методов одинаковы?
trait World { public function sayHello() { echo "World!"; } } abstract class AbstractHello{} class Hello extends AbstractHello { use World; public function sayHello() { echo "Hello";...
724 просмотров
schedule 17.04.2024

Есть ли способ избежать разыменования с трейт-объектами?
Я столкнулся с проблемой, для которой, по моему мнению, идеально было бы использовать трейт-объекты. Хотя мне удалось заставить его работать, он выглядит намного сложнее, чем должен, поэтому я хотел бы знать, есть ли более оптимальный способ...
125 просмотров
schedule 05.06.2024