I know that sounds stupid on the face of it. An interface shouldn't change. But consider this:

A frame timer and a clock timer(seconds) that re-use functionality from a parent class/interface.

```
class timerType
        {
        void start() = 0;
        void stop() = 0;
        void restart() = 0;
        void set(?) = 0; // ????
        }

class frameTimer : timerType
        {
        void set(int numFrames){}
        }
        
class clockTimer : timerType
        {
        void set(float numSeconds){}
        }

```

If we put both signatures in the top we're kind of polluting the interface. If we don't put them in the interface, then you can create a timer with no set() function.

None of this is super important on a practical level. There's going to probably be a total of two or three timer types. But as a learning exercise, I'm curious if there is a right/proper/best way to solve this conceptual problem.

And to be clear, frames and seconds are NOT directly interchangeable or convertible. If the game runs at 2 FPS for a moment, a 5 second timer is still 5 seconds (e.g. a countdown), but a frame timer of 2 (for an animation) is still going to be 2 frames.

Reply via email to