首先,我想为我的语法道歉,因为英语不是我的第一语言,通常我会犯语法错误......
有一些问题总是阻止我编写通用代码:
如何将具有抽象方法的抽象类放在另一个抽象类中?我知道抽象类不能被实例化,但是......没有任何方法可以用通用性来做到这一点吗?
一个例子:我有抽象类Feline,这个类有几个抽象方法。还有另一个类:Cage类,它只能包含一定数量的一种猫科动物物体(比如一笼猫、一笼跳跳虎、一笼狮子等)……但我该怎么做? 我无法在Cage类中实例化Felines ......我如何制作一个猫笼?
另一个例子,我注意到我可以只使用两个排序标准对一组东西进行排序:这个东西会跟在另一个东西之后吗?并且:这个东西会先于另一个东西吗?
所以,每个可排序的东西都必须有两个布尔方法:“goesAfter(stuff): boolean”和“goesBefore(stuff): boolean”,然后,我通过组合/聚合关系把这些东西放在另一个类上,我们称之为LotsOfSortableStuff类,我会放“sort():void”方法,这个方法将使用这个可排序的东西中的gosAfter和gosBefore方法......
有很多东西可以排序:学生(按学位)、孩子(按身高)、姓名(按字母顺序)等...问题是:每当我想收集可排序的东西时,我都有一遍又一遍地键入相同的两种方法,以及排序算法!
我如何在这类问题中应用泛型?