이것은 궁금한 질문처럼 보일지 모르지만, 생성자에서 인수를 정렬하는 방법에 대한 규칙이 있으며 특히 하위 클래스에 인수 "생성자"를 추가하는 위치는 무엇입니까? 나 자신 (코드 그루비입니다,하지만 정말 질문에 relvent 아니에요)과 같은 코드를 읽고 발견 한 후, 하나가 있어야 그것은 나에게 보인다 우리가 도착 일단 내가 위의 설명했듯이특히 하위 클래스의 경우 생성자에서 인수 순서에 대한 규칙이 있습니까?
class Matter {
double volume
double mass
Matter (double m, double v) {
mass = m; volume = v;
}
}
class Food extends Matter {
double nutrition
Food (double m, double v, double n) {
super (m,v); nutrition = n;
}
}
class Apple extends Food {
double sweetness
Apple (double s, double m, double v, double n) {
super (m,v,n); sweetness = s;
}
}
class GreenApple extends Apple {
double acidity
GreenApple (double a, double m, double n, double s, double v) {
super (s,m,v,n); acidity = a;
}
}
GreenApple에서 한 번 생성자 인수에 있었던 순서가 사라졌습니다. 그러나 프로그래머들은 새로운 논쟁을 무작위로 추가하지 않았다. Food의 저자는 새로운 주장이 뒷부분에 추가되어야한다고 믿었고, Apple 저자는 GreenApple 생각의 프로그래머라고 생각했다. 인수는 사전 순으로 정렬해야하지만 함께 사용하면 생성자가 상당히 지저분 해집니다 (유형 안전성은 여기서는 사용하지 않습니다. 모두 2 배입니다).
우연히 (물론, 실제로는 아닙니다), 이것들은 내가 있을지도 모르는 3 개의 규칙이기도합니다. 그래서 제 질문은 지금 그러한 대회가 있습니까? 있다면, 그것이 무엇입니까? 언어별로 차이가 있습니까?