Subclass Definition
Syntax and design of subclasses
Learn how to implement subclasses, call superclass methods from subclasses, and control what classes can derive from a superclass.
Tools
Class Diagram Viewer | Create diagrams with class details and hierarchies (Since R2021a) |
Functions
superclasses | Names of superclasses |
Classes
matlab.diagram.ClassViewer | Create class diagrams in Class Diagram Viewer app (Since R2021a) |
matlab.mixin.Heterogeneous | Superclass for heterogeneous array formation |
Topics
Class Hierarchies
- Hierarchies of Classes — Concepts
Organizing classes into hierarchies facilitates the reuse of code. - Designing Heterogeneous Class Hierarchies
Heterogeneous arrays can contain objects of different class, but all objects in the array must derive from a common superclass.
Creating Subclasses
- Subclass Syntax
Specify superclasses on the classdef line after the class name. - Design Subclass Constructors
Specify superclasses on theclassdef
line in the class file. - Call Superclass Methods on Subclass Objects
Subclass methods can override inherited superclass methods. Subclass methods can call the superclass method that they override. - Control Sequence of Constructor Calls
Control the order in which MATLAB® constructs objects in class hierarchy. - Modify Inherited Methods
Subclasses can modify inherited methods. - Modify Inherited Properties
Subclasses can modify inherited properties that are abstract or private. - Subclassing Multiple Classes
Multiple inheritance can lead to conflicting definitions. All superclasses must be free of conflicts in definition. - Specify Allowed Subclasses
Classes can restrict the classes that can derive from it.
Handle Class Compatibility
- Handle Compatible Classes
Enable both handle and value classes to derive from a specific class. - How to Define Handle-Compatible Classes
Handle compatible classes have applications for mixin and abstract superclasses. - Methods for Handle-Compatible Classes
Handle-compatible class methods must work with both handle and value objects. - Handle-Compatible Classes and Heterogeneous Arrays
Heterogeneous class hierarchies impose certain restrictions when classes are handle compatible.
Control Access to Class Members
- Class Members Access
Determine what level of access is allowed for properties, methods, and events.