In OWL if you create a class (and say nothing further about its definition), you have a concept that will only ever result in extensional sets. That is the only way for an instance to become a member of this class, and therefore the set of things of that type, is if someone asserts membership in the class.
For instance in the famous pizza ontology (http://www.co-ode.org/ontologies/pizza/2007/02/12/pizza.owl) and the excellent tutorial that accompanies it: http://www.co-ode.org/resources/tutorials/ there are concepts, such as DeepPanBase, ThinAndCrispyBase and most of the Toppings, that have no formal definition. Something will be an instance of DeepPanBase if someone asserts that it is. The set of all DeepPanBases is an extensionally defined set. This isn’t a critique, every ontology has to have some extensional sets. We can’t build everything out of each other, there is some ground beneath our feet.