论中，态射不必是函数，而通常被视为两个对象（不必是集合）间的箭头。不像映射一个集合的元素到另外一个集合，它们只是表示域（domain）和陪域（codomain）间的某种关系。尽管态射的本质是抽象的，多数人关于它们的直观（事实上包括大部分术语）来自于具体范畴的例子，在那里对象就是有附加结构的集合而态射就是保持这种结构的函数。
定义.一个范畴"C"由两个类给定：一个对象的类和一个态射的类。有两个操作定义在每个态射上，域（domain，或源）和陪域（codomain，或目标）。