classdef
Palabras clave de definición de clases
Sintaxis
classdef (Attributes)ClassName<SuperclassNamesproperties (Attributes) ... end methods (Attributes) ... end events (Attributes) ... end enumeration ... end end
Descripción
classdef ... end encierra una definición de clase. La primera línea del bloque classdef tiene esta sintaxis:
classdef (Attribute1 = value1, Attribute2 = value2,...) ClassName < SuperclassName1 & SuperclassName2 & ...
(: atributos de clase opcionales, especificados como lista separada por comas de nombres de atributo y sus valores asociados. Por ejemplo, esta sintaxis define una clase abstracta con una lista restringida de subclases permitidas:Attribute1 = value1,Attribute2 = value2,...)classdef (Abstract = true, AllowedSubclasses = {ClassA, ClassB}) exampleClassLos atributos que toman valores lógicos pueden utilizarse sin un valor explícito. En el ejemplo anterior, especificar
Abstractsin un valor explícito establece el atributo entrue. Para obtener más información, consulte Class Attributes.: los nombres de clase válidos comienzan con un carácter alfabético y pueden contener letras, números o guiones bajos. Guarde la clase en un archivo con el mismo nombre que la clase con una extensión de archivo deClassName.m.: lista de superclases, separada por caracteresSuperclassName1&SuperclassName2& ...&. Para obtener más información sobre derivar clases de otras clases, consulte Definición de subclases.
El bloque classdef puede incluir uno o varios de estos bloques de miembros de clases:
Propiedades:
properties (define un bloque de propiedades. Las definiciones de clase pueden contener varios bloques de propiedades y cada uno especifica diferentes configuraciones de atributos que se aplican a las propiedades de ese bloque concreto. Para obtener más información sobre la sintaxis de propiedades, consulte Property Syntax.Attributes) ... endMétodos:
methods (define un bloque de métodos. Las definiciones de clase pueden contener varios bloques de métodos y cada uno especifica diferentes configuraciones de atributos que se aplican a los métodos de ese bloque concreto. Para obtener más información sobre la sintaxis de métodos, consulte Method Syntax.Attributes) ... endEventos:
events (define un bloque de eventos. Las definiciones de clase pueden contener varios bloques de eventos y cada uno especifica diferentes configuraciones de atributos que se aplican a los eventos de ese bloque concreto. Para obtener más información sobre la sintaxis de eventos, consulte Events and Listeners Syntax.Attributes) ... endEnumeración:
enumeration ... enddefine un bloque de enumeraciones. Para obtener más información sobre cómo definir las clases de enumeraciones, consulte Definir clases de enumeraciones.
Ejemplos
Sugerencias
Solo pueden preceder a
classdeflíneas vacías y comentarios.Los archivos de definición de clases pueden estar en carpetas en la ruta de MATLAB® o en carpetas de clases cuya carpeta principal esté en la ruta de MATLAB. Los nombres de carpetas de clase siempre comienzan por el carácter
@seguido del nombre de la clase (por ejemplo,@MyClass). Para obtener más información sobre las carpetas de clases, consulte Folders Containing Class Definitions.properties,methods,eventsyenumerationtambién son los nombres de funciones de MATLAB utilizadas para consultar los correspondientes miembros de clases de un objeto o nombre de clase dado.Los miembros de propiedades, eventos y enumeraciones no pueden tener el mismo nombre que su clase definida.
Puede definir métodos en archivos distintos al archivo de clase principal. Para obtener más información, consulte Methods in Separate Files.
Historial de versiones
Introducido en R2008a