If you are going to definitely declare class autofs, as you show doing via an include statement, then your best bet is probably to use chain operators instead of metaparameters to express the wanted relationships:
include 'autofs'
Class['authconfig'] -> Class['autofs']
Class['nfs::client'] -> Class['autofs']
That combination means exactly the same thing as your resource-like declaration, and it makes no use of defined (which is good, because defined is evil).
Consider also, however, whether you actually need those relationships at all. Is there in fact any reason for concern that applying class autofs before applying one or both of the other two might result in a Puppet failure or a target system misconfiguration? Those are the kinds of problems that Puppet relationships solve. It is neither necessary nor desirable to use relationships to express functional dependencies among the resources under management when they do not also impact the process of configuration management.
John