그래서 OpenGL/GLE 용 프레임 워크를 설계하고 있습니다.Java 상속 제한 극복 (의견/제안)
"질감"추상 클래스를 만들었습니다. 나는 Texture2D와 TextureCubemap을 Texture로부터 상속 받았습니다. Texture2D에는 RenderTexture가 있고 TextureCubemap에는 RenderTextureCubemap이 있습니다. 이제이 모든 것이 잘 동작하지만 RenderTexture와 RenderTextureCubemap은 많은 공통점을 공유합니다. 나는 그 (것)들 사이 현재 중복을 제거하고 싶으면. 다른 언어에서는 다중 상속을위한 완벽한 위치가되지만 Java는이를 지원하지 않습니다. 두 번째 아이디어는 인터페이스였습니다. 여기서 문제는 인터페이스 메소드에 대한 바디를 정의 할 수 없기 때문에 실제로 이점이 없다는 것입니다. 또 다른 옵션은 "RenderTarget"클래스를 만들고이를 멤버 변수로 추가하는 것입니다.이 방법이 효과가있을 때마다 "RenderTarget"클래스에서 보유한 항목에 액세스하려고 할 때마다 멤버 변수를 뛰어 넘지 않아도됩니다. "그것은 일종의 clunky 보인다.
다른 사람들이 제안 할 수있는 더 세련된 솔루션이 있는지 궁금합니다.
몇 가지 클래스 다이어그램의 스크린 샷을 추가 할 수 있습니까? 설명은 괜찮지 만 사진이 더 좋을 것입니다. –
Java 8부터, 인터페이스에는'default' 메소드가있을 수 있습니다. –
@JornVernee 이것이'default'의 올바른 사용 사례가 아닌 것 같습니다. – ajb