Публикации по теме '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