Sintaxis de subclases
Sintaxis de definición de subclases
Para definir una clase que es una subclase de otra clase, añada la superclase a la línea classdef
después de un carácter <
:
classdef ClassName < SuperClass
Al heredar de varias clases, utilice el carácter &
para indicar la combinación de las superclases:
classdef ClassName < SuperClass1 & SuperClass2
Consulte Class Member Compatibility para ver más información sobre cómo derivar de varias superclases.
Atributos de clases
Las subclases no heredan atributos de superclases.
Subclase double
Suponga que desea definir una clase que se deriva de double
y que restringe los valores a números positivos. La clase PositiveDouble
:
Es compatible con un constructor predeterminado (sin argumentos de entrada). Consulte No Input Argument Constructor Requirement
Restringe las entradas a valores positivos utilizando
mustBePositive
Llama al constructor de superclases con el valor de entrada para crear el valor numérico doble
classdef PositiveDouble < double methods function obj = PositiveDouble(data) if nargin == 0 data = 1; else mustBePositive(data) end obj = obj@double(data); end end end
Cree un objeto de la clase PositiveDouble
utilizando un arreglo de números de 1 por 5:
a = PositiveDouble(1:5);
Puede realizar operaciones en objetos de esta clase como cualquier doble.
sum(a)
ans = 15
Los objetos de la clase PositiveDouble
deben ser valores positivos.
a = PositiveDouble(0:5);
Error using mustBePositive (line 19) Value must be positive. Error in PositiveDouble (line 7) mustBePositive(data)