Making an arduino sketch into multiple piece

While I can simply just seperate them into multiple pde, I want to see if I can make it more professional. Thus, I am trying to make them into classes. Is that acceptable? If that is okay, would I incurr performance penalty?

If not, how can I divide them into multiple files, so that only one is a pde and the rest are either headers and c/cpp?


It is ok to use classes in the sketch as this is a c++ context.

You can also create a library with the .c and .cpp files and use this library in the sketch. This makes sense if the class does something useful that is not limited to you special sketch but can be reused in other projects.

Also, is there other way to make them into multiple files (Other than making them into class, libraries, and multiple pde)?