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 theclassdefline 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.