Help needed: How to make a library from a .ino-file?

The keywords public, protected and private are meant for capsulating or hiding the members. Public is the interface part that is accessible from outside. I tend to define other functions that are not necessarily safe to call from outside in the protected part. These are the kind of functions that are called by the implementation.

I guess it's just a habit that I also leave the private part for member variables, not function, that then have accessor functions in the public part if necessary. In some rare cases, I do also write private functions, but I have meant to only use them for filling some member arrays and only meant to be called by the other functions in the same class. These wouldn't necessarily be safe to call even from inherited classes, strictly internal logic.

Anyways, if you think you need access to a function, just raise it to public level. Separating the functions to public and protected sections also gives other coders hints towards the usage of the design. Coders would just look at the public functions with comments in the header file and should be able to tell how to use it from that. Too bad Arduino IDE does not give any popup hints when you try and access the functions within a class instance, so you need to actually open the header file to see what's in there or rely on documentation anyways.