Having then in one class would be weird, to say the least. However, formally, MVC as an
architectural patterns, which is not really concerned with classes. It is more conceptual and could be suited to many different programming models, even those without classes (take JavaScript, for example). Therefore, again, quite formally and not practically, those two parts of architecture could be collected in one class, but then it could be a big misuse of classes, forget practical reasons. If you want to practice this approach, one
anti-pattern you could use would be, in particular,
God Object:
https://en.wikipedia.org/wiki/God_object[
^].
So, I have no clue how such idea could even visit you mind. :-)
As to the location of the "logic", this is somewhat fuzzy concept, so it depends on what you call "logic". I would not even think in such terms. The controller can send commands to a model and to a view, thus providing some kind of, presumably,
loose coupling between them. Such coupling also has some logic behind, or something one could rightfully call "logic". But still, it's the model which "directly manages the data, logic and rules of the application":
https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller[
^],
https://en.wikipedia.org/wiki/Loose_coupling[
^],
and, after all,
https://en.wikipedia.org/wiki/Logic[
^] :-).
—SA