In at least one source, a class is a set in which an individual member can be recognized in one or both of two ways: a) it is included in an extensional definition of the whole set (a list of set members) b) it matches an Intensional definition of one set member. By contrast, a "type" is an intensional definition; it is a description that is sufficiently generalized to fit every member of a set.
Philosophers sometimes distinguish classes from types and kinds. We can talk about the class of human beings, just as we can talk about the type (or natural kind), human being, or humanity. How, then, might classes differ from types? One might well think they are not actually different categories of being, but typically, while both are treated as abstract objects, classes are not usually treated as universals, whereas types usually are. Whether natural kinds ought to be considered universals is vexed; see natural kind.
There is, in any case, a difference in how we talk about types or kinds. We say that Socrates is a token of a type, or an instance of the natural kind, human being. But notice that we say instead that Socrates is a member of the class of human beings. We would not say that Socrates is a "member" of the type or kind, human beings. Nor would we say he is a type (or kind) of a class. He is a token (instance) of the type (kind). So the linguistic difference is: types (or kinds) have tokens (or instances); classes, on the other hand, have members.
The concept of a class is similar to the concept of a set defined by its members. Here, the class is extensional. If, however, a set is defined intensionally, then it is a set of things that meet some requirement to be a member. Thus, such a set can be seen as creating a type. Note that it also creates a class from the extension of the intensional set. A type always has a corresponding class (though that class might have no members), but a class does not necessarily have a corresponding type.