Main Content

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)

Temas relacionados