는 :녹 특성 상태
trait Monster {
fn attack(&self);
fn new() -> Self;
}
struct IndustrialRaverMonkey {
life: int,
strength: int,
charisma: int,
weapon: int,
}
struct DwarvenAngel {
life: int,
strength: int,
charisma: int,
weapon: int,
} ...
impl Monster for IndustrialRaverMonkey { ...
impl Monster for DwarvenAngel { ...
나는 코드의 중복에 대해 우려하고있다. Java에서 나는 모든 매개 변수 (life
, strength
, charisma
, weapon
)와 함께 attack
메서드와 기본 클래스를 정의하는 인터페이스를 만들 것입니다. 나는 추상 클래스로 C++에서 같은 일을 할 것이다. 이 문제를 해결하기위한 다소 추악하고 직관적 인 방법을 찾을 수는 있지만 코드를 줄일 수있는 좋은 방법이 있습니까? 내 말은, 확장 성과 읽기가 가능하도록 유지하는 것입니다.
흥미로운 점은 '특성'이 아닌 '특성'이 왜 '특성'입니까? (후자는 권장되고,'~'을 사용하여 (작은) 구조체를 할당 할 필요가 거의 없다.) – huon
@dbaupp 포인터에 관해서는 여전히 멍청하다. 네가 맞아, 그건 작은 구조체 야. 나는 내 대답을 고칠 것이다. 다른 제안 사항은 환영합니다. –
제가 이해 하듯이, 저는 스스로 파견을 시행해야합니다 ... 흥미 롭습니다. 나는 녹슨하고 다른 잘못된 메커니즘이 있다고 생각합니다. –