apply the principle of reusability in program design (e.g., in modules, subprograms, classes, methods, and inheritance).