제 생각에는 모든 것이 그렇게 나쁜 것은 아닙니다. 제 생각에는 동일한 C#에 기본 메인 인터페이스가 많지 않기 때문에(저는 C# 전문가가 아닙니다.) 따라서 해당 메소드는 하나의 기본 수퍼클래스로 축소된 다음 누구에게나 상속될 수 없습니다.
추신 여러 IMHO를 구현하기 위해 <<<<>>>>와 같은 구성을 통해 이것은 어떻게든 한 곳을 통해 이루어집니다. 예를 들어 a==b는 a.compareto(b)를 호출하고 a[comparer]==b는 comparer.compare(a,b)를 호출하는 등 연산자를 통해 기능을 수행하는 것이 좋습니다.
당신은 그들의 표준 라이브러리 를 의미합니까? )
아니요, MQL에서는 구현 없이 추상 가상 메서드를 선언할 수 없습니다. MQL에서 기본 클래스 가상 메서드는 항상 구현해야 하며, 이는 언급한 문제로 가득 차 있습니다.
동일한 C#에 너무 많은 기본 코어 인터페이스가 없습니다.
사실, 많이.
제 생각에는 모든 것이 그렇게 나쁜 것은 아닙니다. 제 생각에는 동일한 C#에 기본 메인 인터페이스가 많지 않기 때문에(저는 C# 전문가가 아닙니다.) 따라서 해당 메소드는 하나의 기본 수퍼클래스로 축소된 다음 누구에게나 상속될 수 없습니다.
추신 여러 IMHO를 구현하기 위해 <<<<>>>>와 같은 구성을 통해 이것은 어떻게든 한 곳을 통해 이루어집니다. 예를 들어 a==b는 a.compareto(b)를 호출하고 a[comparer]==b는 comparer.compare(a,b)를 호출하는 등 연산자를 통해 기능을 수행하는 것이 좋습니다.IMHO, 끔찍한 혼란입니다.
+ 가상 메서드 호출은 무료가 아닙니다.아니요, MQL에서는 구현 없이 추상 가상 메서드를 선언할 수 없습니다. MQL에서 기본 클래스 가상 메서드는 항상 구현해야 하며, 이는 언급한 문제로 가득 차 있습니다.
구현 없이 선언할 수 없는 이유를 정말로 이해하지 못하셨습니까? 추상 클래스 메소드 는 몇 년 동안 MQL에서 지원되었습니다.
1. 실제로 많이.
2. IMHO, 끔찍한 혼란이 드러날 것입니다.
+ 가상 메서드 호출은 무료가 아닙니다.1. 알겠습니다.
2. 무슨 일이 일어나는지 보자. 내가 지금하고있는 일을 마음에 떠올리면 포럼에 게시 할 것입니다)
무료가 아닙니다. OOP를 통한 보편적인 솔루션은 비용이 많이 들지만 목표가 일반 Expert Advisors 및 지표(종소리와 휘파람 없이)를 쉽고 아름답게 구축하는 것이라면 IMHO는 그만한 가치가 있습니다.
구현 없이 선언할 수 없는 이유를 정말로 이해하지 못하셨습니까? 추상 클래스 메소드 는 몇 년 동안 MQL에서 지원되었습니다.
이러한 항목은 컴파일 오류로 이어지기 때문입니다.
이러한 항목은 컴파일 오류로 이어지기 때문입니다.
예, 이해할 수 있습니다. 그리고 그 사람은 내가 그의 게시물에서 이해하는 한 MQL에서 그러한 메소드를 선언하는 것이 일반적으로 불가능하다고 생각했습니다.
아는 사람은 거의 없지만(알고 사용하는 사람은 훨씬 더 적음) 순수한 가상 함수 는 본체를 가질 수 있습니다.
또한 자손 클래스에서 오버로드되어야 합니다.
아는 사람은 거의 없지만(알고 사용하는 사람은 훨씬 더 적음) 순수한 가상 함수 는 본체를 가질 수 있습니다.
또한 하위 클래스에서 오버로드되어야 합니다.
인터페이스는 모두 동일한 메서드 코드를 가질 수 있습니까? 그를 부를 방법이 있습니까? )
최근에 이것을 발견했습니다 ...
ps 지금 해봤는데... A::f2() 에 본문이 없어도 컴파일러는 그런 호출에 전혀 반응하지 않습니다. 저것들. 그런 다음 런타임에 오류를 잡아야 합니다. 네, 그렇게 삽니다.
흠, 재미있는 기능이군요... 제가 알기로는 상속인에서 A::f2()를 단순히 호출하는 기본 방법입니다.
테스트됨 - 일반적으로 옳습니다 =)
ps 지금 해봤는데... A::f2() 에 본문이 없어도 컴파일러는 그런 호출에 전혀 반응하지 않습니다.
바퀴벌레인듯...