What's the theoretical difference between class and type?

This question stems from my effort trying to learn ASN.1.

After I went through the PKCS#1 standard for RSA cryptosystem and X.680~X.683 side-by-side, I noticed that, they've defined

1. ALGORITHM-IDENTIFIER as a class, and

2. AlgorithmIdentifier as a sequence type that can be encoded using BER the basic encoding rule.

I've went through the Wikipedia pages on the subjects, in both computer science and mathematical fields. It seems to say that a "class" is more general than a "type" while "type" is more concrete than "class" on the other hand.

So what's the difference from a theoretical perspective? What are the examples? And possibly why the standard developers elect to use such terminology?