Cyclique de l'héritage utilise

Donc, si j'écris le code suivant dans Java:

public class A extends A{
    public static void main(String[] args){
    }
}

Cela donne un message d'erreur compilateur cyclique héritage impliquant A.

La même chose arrive si j'écris deux classes A et B et A hérite de B et B hérite de A.

Cela fait sens pour moi, car il est assez difficile d'imaginer comment ce serait possible de toute façon.

J'ai alors demandé à ce sujet par l'un des professeurs de mon uni. Il a dit il y a des langues où c'est possible et il a déploré la façon dont ce n'est pas possible en Java et qu'il avait fait de certains projets où il avait utilisé cyclique de l'héritage et ainsi de suite, mais je ne pouvais pas vraiment comprendre tout ça. Il a également mentionné qu'il avait eu des problèmes là où il aurait aimé utilisation cyclique de l'héritage.

Pouvez-vous m'instruire sur les utilisations possibles de cet étrange des phénomènes cycliques de l'héritage? Quand est-il possible, et comment? Sont-il des problèmes où cela pourrait être utile?

  • Il serait mieux si vous demandez à votre professeur pour enseigner vous. Un enseignant de travail ne peut pas être source de confusion, les élèves et de les laisser sans réponse concrète.
  • Une chose à garder à l'esprit est que les gens dans le milieu universitaire peuvent parfois en manque de pensée pratique quand il s'agit de certaines de leurs idées animal de compagnie, en particulier à mesure qu'ils vieillissent. J'ai eu un instructeur qui a pensé que la meilleure façon de concevoir les listes chaînées était de rendre les clients hériter de la ListNode classe, parce que c'est la façon dont le Modula-3 environnement à l'apogée de sa carrière universitaire a été fondée en ont fait les choses. (Même si c'est évident conception de l'abomination de la plupart quelqu'un d'autre.) Si vous ne pouvez pas penser à une utilisation pour l'exotisme d'un langage de construire, et le professeur ne peut pas l'expliquer simplement, c'est peut-être pas très utile.
  • Maintenant que j'y pense, il aurait peut-être dit-il simulé ce type d'héritage ou quelque chose, ne pas utiliser en tant que tel, mais pas sûr. Tout cela s'est passé il y a quelques années...
  • Aussi, je voudrais ajouter que j'ai demandé à ce dans un couloir ou quelque chose et il n'a pas eu trop de temps et tout et tout...
  • Il y a quelques années je suis tombé sur une langue dans laquelle True et False étaient catégories distinctes et ont été définis mutuellement de manière récursive. Malheureusement j'ai oublié le nom de la langue.
InformationsquelleAutor Valtteri | 2012-11-19