OOP - Sealed Superclasses
이전 댓글 표시
I am trying to create a custom class to overload the MATLAB image object but am getting this error message:
Class 'matlab.graphics.primitive.Image' is Sealed and may not be used as a superclass
Is there a list of [graphics] objects in The MathWorks documentation which are not "sealed?"
Or should I start from the beginning with
classdef overloadedImage < handle
채택된 답변
추가 답변 (2개)
Tibor Auer
2021년 6월 28일
0 개 추천
I have a similar issue with graph class, which is also Sealed. I would like to extend its funcionality by adding further methods and proprties.
댓글 수: 4
Tibor Auer
2021년 6월 28일
편집: Tibor Auer
2021년 6월 28일
I have found a hacky workaround; however, it may not work for all cases:
classdef superClass
properties (Access = protected)
subClassInstance
end
methods
function obj = extendedGraph(varargin)
obj.subClassInstance = subClass(varargin{:});
end
function val = getSubClassProperty(obj,prop)
val = obj.subClassInstance.(prop);
end
function val = execSubClassMethod(obj,hMethod,varargin)
val = hMethod(obj.subClassInstance,varargin{:});
end
end
You can extend this class definition with custom properties and methods.
Steven Lord
2021년 6월 29일
What types of methods and properties are you trying to add to the graph class?
Tibor Auer
2021년 6월 29일
The main extension is to add methods to calulate the line of the graph and some further methods supporting the calculation.
I have also added some customised plotting as a method, which also adapts to when the graph is a line of a graph.
Peter Cook
2021년 6월 29일
Tibor Auer
2021년 6월 29일
0 개 추천
@Peter Cook, There might be some misunderstanding. "Line of graph" is not about plotting but transforming: Line graph - Wikipedia
카테고리
도움말 센터 및 File Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

