최근에 내 MorseString
클래스로이 문제가 발생했습니다. 나는 다른 일을 두 가지 다른 생성자를 가지고 있지만 동일한 데이터 유형 걸릴 :이 솔루션을 함께했다다른 일을하지만 동일한 데이터 형식을 사용하는 두 생성자
/*
* Constructor that takes the Morse Code as a String as a parameter
*/
public MorseString(String s) {
if(!isValidMorse(s)) {
throw new IllegalArgumentException("s is not a valid Morse Code");
}
// ...
}
및
/*
* Constructor that takes the String as a parameter and converts it to Morse Code
*/
public MorseString(String s) {
// ...
}
:
public MorseString(String s, ParameterType type) {
if(type == ParameterType.CODE) {
if(!isValidMorse(s)) {
throw new IllegalArgumentException("s is not a valid Morse Code");
}
// Constructor that takes Morse
} else {
// Constructor that takes String
}
}
을하지만 추한 모습 . 다른 솔루션?
생성자 대신 함수를 사용하십시오. –
확실히 못 생겼지 만 같은 서명을 가진 두 개의 메소드/생성자를 가질 수 없습니다. – Gumbo
이 질문은 코드 검토에 관한 것이므로 주제의 주제가 아닌 것으로 보입니다. [codereview] (codereview.stackexchange.com)에 더 적합 할 것입니다. –