文档

类优先

类优先级的使用

MATLAB®当多个类具有相同的方法时,使用类优先级来确定调用哪个方法。您可以使用类指定用户定义类的相对优先级InferiorClasses属性。

本主题中的材料建立在对以下信息的理解之上:

为什么把班级标为劣等

当多个类定义了具有相同名称的方法或类重载函数时,MATLAB会根据主要参数确定调用哪个方法或函数。以下是MATLAB如何确定主导论点:

  1. 根据论点的类别确定主要论点。

  2. 如果有一个主导参数,调用主导类的方法。

  3. 如果参数具有相同的优先级,则使用最左边的参数作为主导参数。

  4. 如果主参数的类没有定义一个带有被调用函数名称的方法,则使用该名称调用路径上的第一个函数。

InferiorClasses属性

使用类指定用户定义类的相对优先级InferiorClasses属性。要指定低于正在定义的类的类,请指定类的单元格数组meta.class对象的属性。

例如,下面classdef宣称MyClass是占主导地位的ClassName1ClassName2

classdef(InferiorClasses = {?ClassName1,?ClassName2}) MyClass……结束

操作符与类名组合创建meta.class对象。看到元类

下面的MATLAB类总是不如使用classdef语法,不能在此列表中使用。

int64uint64int32uint32int16uint16int8uint8字符字符串逻辑细胞结构体,function_handle

统治阶级

当计算包含多个类对象的表达式时,MATLAB使用类优势。统治阶级决定:

  • 当多个类定义具有相同名称的方法时,调用哪个类方法。

  • 由不同类的对象组合而成的数组类,假设MATLAB可以将次等对象转换为主导类。

没有属性的继承

子类不继承超类InferiorClasses属性。仅在子类中指定的类InferiorClasses属性不如子类对象。

相关的话题