www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/+mbcgui/+widget/AbstractComponent.m

    classdef AbstractComponent < matlab.mixin.SetGet & matlab.mixin.Heterogeneous
%ABSTRACTCOMPONENT Abstract implementation of Component supporting Heterogeneous set get operations

%   Copyright 2014-2015 The MathWorks, Inc.
    methods(Sealed)
        function varargout = set(obj,varargin)
        %set sealed set method 
            if nargout == 0
                set@matlab.mixin.SetGet(obj, varargin{:});
            else
                varargout{:} = set@matlab.mixin.SetGet(obj,varargin{:});
            end
        end
        
        function varargout = get(obj,varargin)
        %get sealed get method 
            if nargout == 0
                get@matlab.mixin.SetGet(obj, varargin{:});
            else
                [varargout{1:nargout}] = get@matlab.mixin.SetGet(obj,varargin{:});
            end
        end
        
        function c = eq(A,B)
        %eq sealed == operator
        
        % check that A and B are mbcgui.widget.AbstractComponent
        validateattributes(A,{'mbcgui.widget.AbstractComponent'},{},'==')
        validateattributes(B,{'mbcgui.widget.AbstractComponent'},{},'==')
        c = eq@matlab.mixin.SetGet(A,B);
        end
        
        function c = ne(A,B)
        %ne sealed ~= operator
        
        % check that A and B are mbcgui.widget.AbstractComponent
        validateattributes(A,{'mbcgui.widget.AbstractComponent'},{},'~=')
        validateattributes(B,{'mbcgui.widget.AbstractComponent'},{},'~=')
        c = ne@matlab.mixin.SetGet(A,B);
        end        
        
        function h = findobj(obj,varargin)
        %findobj sealed findobj
        
        h = findobj@matlab.mixin.SetGet(obj,varargin{:});
        end

        function ok = iscomponent(obj)
        ok = false(size(obj));
        for i=1:numel(ok)
            ok(i) = isvalidcomponent(obj);
        end
        end
    end
    
    methods (Abstract, Access = protected)
        ok = isvalidcomponent(obj)
    end
    
    methods (Static, Sealed, Access = protected)
        function default_object = getDefaultScalarElement
        default_object = mbcgui.widget.NullComponent;
        end
	end    
end