牛科的成员并非都是牛,一些老文献把牛科叫做“洞角科”,因为它们的角结构都是“洞角”,所以羊属于“洞角科”一点问题都没有,只是“牛科”这名字起得不符合题主的习惯罢了

那么问题来了,科名一般都是模式命名法,为什么偏偏牛科的名字有点别扭,而猫科、犬科、鹰科、熊科、鼬科这些就显得很正常呢?
我个人认为,应该是因为牛的外形在牛科里太特殊了,牛科的大部分成员都不像牛,而像羚羊,所以说“羊属于牛科”才显得很奇怪,而如果说“牛羊都属于羚科”就显得正常些。而且牛科的早期化石成员——始羚(Eotragus),它的角就是羚羊的样子,而不像牛角,体型也很小,和家猫差不多大,所以更像羚羊

“牛科”这名字给人的感觉就像是:把鸟类和爬行类合并之后合称叫“鸟形纲”,其实从系统发育的角度讲,牛科应该叫“羚科”更合适,牛和羊都是特殊的“羚”,牛科的早期化石成员就是“羚”的外形,牛才是后来衍生的特例,现今的大多数牛科成员也都是“羚”,近些年有些书上还把羊亚科也并入了“羚亚科”。

然后,现今牛科的大多数分支还是“羚”,就连牛科内部和牛关系最近的牛亚科里,也有很多“羚”,所以,应该说“牛是羚的一支”,而不是反过来。

比如牛亚科的四角羚属和纹羚属(Tragelaphus),它们除了角之外,身体其他部分也都是羚的特征,而牛显然是因为体型增大才变得身形粗壮,牛的祖先应该也是羚羊的外形


而牛亚科里的牛族底下也有一些角比较直的种类,比如低地水牛(Bubalus depressicornis)↓

所以,牛和羊都是特殊的羚,只不过古代中国人更熟悉羊,所以羚也是“羊”字旁,甚至还俗称“羚羊”,不过现代动物学上已经不认为“羚属于羊”了,反而还把羊亚科并入羚亚科。其实“羚”字还有个异体字写作“麢”,所以也可以说羚的外形像鹿

回到题目,科这个级别的命名一般都是模式命名法,牛科的模式属是牛属(Bos),所以才叫“牛科(Bovidae)”,模式属的选取是人为规定的,有一定主观性,通常是选取人类最熟悉的一个属作为模式属,但这并不是规矩,也有一些例外。有时候人类最熟悉的那个属正好也能概括整个科的外形,比如猫科、鹰科、海豚科就属于这类情况,现存猫科里大部分物种都是“XX 猫”。
但也有些时候,人类最熟悉的这个属正好是这个科里最特殊的,比如牛科、人科、长颈鹿科就是这类情况,长颈鹿科的其他物种的脖子并没有这么长。所以“牛科”这名字给人的感觉就像是:把鸟类和恐龙合并之后统称叫“鸟形总目”。
其实有时候也不一定要选取人类最熟悉的属作为模式属,比如雉科的模式属就不是人类最熟悉的鸡属,而是相对没那么熟悉的雉属。食蚁狸科的模式属不是人类最熟悉的马岛獴(Cryptoprocta),而是照片都没几张的食蚁狸(Eupleres)。
当一个科的模式属不能很好地概括整个科的时候,自然也不适合把科名去掉“科”字然后来统称整个科,比如人科、独角鲸科、食蚁狸科都是这类情况,人科的统称不是“人”,而是“大猿”,食蚁狸科的统称不是“食蚁狸”,而是“马岛獴”。
而我们熟悉的猫科、鹰科这些,只是模式属正好既概括了整个科的大致情况,又接近整个科的祖先形态,所以大家没觉得别扭。
现存猫科的 41 个物种有 28 个都是“XX 猫”,将近四分之三,而且猫科的祖先体型也很小,而现存牛科的大部分物种都是羚,只有其中的牛族才是“牛”。
假如把猫科叫作“虎科”或者“豹科”,那就会出现和牛科同样的问题。
犬科乍一看概括性也很差,但是家犬本身的形态多样性超级高,既有像狐狸的狐狸狗,也有像狼的哈士奇,所以这又大大弥补了概括性不足的问题。
