我很难找到泛化和专业化之间的区别,以及何时使用其中任何一个。
任何人都可以启发我吗?
最后还是使用UML的插图
答案 0 :(得分:5)
Animal
是一种概括,Dog
是专业化。您的超类是一个通用类,但您的子类将是您的超类的专用继承者。随着继承层次结构向下移动,它变得更加专业化,而且不那么通用化。
泛化是从两个或多个类中提取共享特征,并将它们组合成一个通用超类的过程。共享特征可以是属性,关联或方法。
如果从现有的超类创建了一些新的子类来执行超类的特定工作,那么它就称为特化。
您可以使用UML图here获得更清晰的教程。