LATEX provides these commands:
\LoadClass \LoadClassWithOptions \RequirePackage \RequirePackageWithOptionsfor using classes or packages inside other classes or packages. We recommend strongly that you use them, rather than the primitive
\input command, for a number of reasons.
Files loaded with \input <filename> will not be listed in the
\listfiles list.
If a package is always loaded with \RequirePackage... or \usepackage
then, even if its loading is requested several times, it will be
loaded only once. By contrast, if it is loaded with \input then it
can be loaded more than once; such an extra loading may waste time and
memory and it may produce strange results.
If a package provides option-processing then, again, strange results
are possible if the package is \input rather than loaded by means of
\usepackage or \RequirePackage....
If the package foo.sty loads the package baz.sty by use of
\input baz.sty then the user will get a warning:
LaTeX Warning: You have requested package `foo',
but the package provides `baz'.
Thus, for several reasons, using \input to load packages is not a
good idea.
Unfortunately, if you are upgrading the file myclass.sty to a class
file then you have to make sure that any old files which contain
\input myclass.sty still work.
This was also true for the standard classes (article, book and
report), since a lot of existing LATEX 2.09 document styles contain
\input article.sty. The approach which we use to solve this is
to provide minimal files article.sty, book.sty and report.sty,
which simply load the appropriate class files.
For example, article.sty contains just the following lines:
\NeedsTeXFormat{LaTeX2e}
\@obsoletefile{article.cls}{article.sty}
\LoadClass{article}
You may wish to do the same or, if you think that it is safe to do so,
you may decide to just remove myclass.sty.