MATLAB defines a protected property to mean accessible from the class defining the property and all child classes (but NOT any parent classes). I want to make a method that does a certain operation on each of a set of properties. The method does not explicitly reference any properties by name - it just does its work on each property of the object that matches a certain specification - e.g. on each property whose name is to be found in a list of property names (which is itself contained in a property). This method needs to be available to any of a number of different classes and its code is character-for-character identical for each class (since it doesn't explicitly name any properties). Now, I would have thought the clean way to do this would be to define the method once in a single parent class. However, if I do that, it is unable to access any properties specific to a child class that are either protected or private. The typical solution would be to define the method in the parent class only as abstract and then implement it separately in each child, but that is silly in this case because, as I said, the code is identical for all. I would literally be copying and pasting the same code 50 times, which is exactly what OOP is supposed to avoid. Any way around this or am I just up against a shortcoming of the standard OOP framework?