Reprendre les bases de Java (8) : Résumé de l'héritage et des polypeptides
1 L'héritage
1、在java编程中会遇到两个或者多个类中存在多个代码重复,这时我们就需要在这 两个或多个类中寻找他们的共同特点,然后寻找一个大的类别来包括,他们的共 同属性和方法,这样就出现了继承。 2、我们大类别叫做“超类”或者“基类”不过通俗叫法我们叫做“父类”,小类别叫 做“子类”. 3、小类别继承大类别内非私有的成员。 注意:a、 私有的属性可以通过set/get方法来实现对其的使用,但这不属于继承。 b、构造函数无法继承,因为构造函数的函数名要与父类的函数名保持 一致, 如果继承下来语法不符。 c、个人觉得 父类的私有函数虽然无法继承,不过可以利用父类中的 非私有函数进行调用。 4、java中的继承是单继承 不能写成 class Son extends Father , GrandFather 但是可以是多层继承 例如:class Father extends GrangFather class Son extends Father 5、继承要满足is-a关系 老师是人 不能 人是老师 也不能 dog is a person 6、继承要使用 extends 关键字
2. leur parent De quoi hérite une classe ?
1. Ce qu'une sous-classe hérite de sa classe parent, ce sont les membres non privés de la classe parent. 2. Méthodes non héritables : les constructeurs ne peuvent pas être hérités Les méthodes privées ne peuvent pas être héritées 3. Méthodes héritables Méthodes non privées 4. Les méthodes non privées peuvent être héritées Les propriétés privées ne peuvent pas être héritées mais peuvent être utilisées avec les méthodes set/get 5. Privées les sous-classes de propriétés n'ont pas de droits d'héritage mais des droits d'utilisation 6. Les sous-classes peuvent avoir leurs propres attributs et méthodes uniques
3. Diagramme d'allocation de mémoire lors de la création d'objets de sous-classe
4. Méthodes dans la relation d'héritage 1 À l'exception de la méthode de construction, les méthodes non privées de la classe parent peuvent être héritées par les sous-classes 2. ne souhaite pas utiliser les méthodes de la classe parent, le remplacement de méthode est possible. 3. Réécriture de méthode A. La réécriture de méthode doit garantir que le nom de la méthode, le type de paramètre, l'ordre et le numéro sont exactement les mêmes B. La réécriture de méthode doit garantir return Un type valeur est du même type que sa classe parent ou une sous-classe de celle-ci. C. La réécriture de méthode doit garantir que le modificateur est le même que son type parent ou dispose d'autorisations supérieures à celles de la classe parent. Il est préférable de garder la réécriture de méthode complètement cohérente avec sa classe parent sans commettre d'erreurs6. L'ancêtre de toutes les classes : Objet
La classe parent supérieure de toutes les classes Toutes les classes héritent automatiquement de la classe Objet
7. Polymorphisme
1. Les polypeptides peuvent assurer l'évolutivité et la maintenabilité du programme 2. Les polypeptides peuvent réduire la duplication du code 3. Suivez l'instruction is-a
8 Transformation vers le haut
1. Nom de la classe parent nom de l'objet = nouveau nom de sous-classe ();
C. Le type de paramètre de la méthode active doit être défini sur le type parent de la méthode passive.
4. Par exemple, Father f=new Son();//Déclaration polypeptide
f.eat();//Ce qui est exécuté ici est la fonction eat dans la sous-classe
Remarque : Printer est la classe parent, BlackPrinter est la sous-classe. Définissez une classe parent dans la fonction active et transmettez un objet de sous-classe dans la classe de test. Remarque : Si des paramètres sont également transmis dans l'objet de sous-classe, la sous-classe ci-dessus doit utiliser super pour appeler le constructeur paramétré de la classe parent. Parce que les constructeurs ne sont pas hérités.
9. Transformation vers le bas
1. La transformation vers le haut ne peut pas appeler les méthodes uniques des fonctions de sous-classe, donc la transformation vers le bas est utilisée
2.
Nom de la classe parent Nom de l'objet = new Nom de la sous-classe ();
implique une conversion de type forcée.
3. Résoudre les inconvénients de la transformation ascendante.
10. Détails du polymorphisme 1. Pour les attributs non privés, si la classe parent et la sous-classe ont un attribut du même nom, lors de la transformation, s'appelle Est une propriété de la classe parent. La compilation et le fonctionnement regardent à gauche (classe parent). 2. Pour les méthodes non privées, si la classe parent et la sous-classe ont une fonction (réécriture de méthode) du même nom, lors de la transformation ascendante, la méthode de la sous-classe est appelée. Lors de la compilation, regardez à gauche (classe parent). Lors de l'exécution, regardez à droite (sous-classe). Remarque : cela explique que dans les polypeptides, les sous-classes doivent remplacer ou hériter des méthodes uniques de la classe parent. n'existe pas et ne peut pas être compilé, utilisez donc la saisie descendante Convert ! ! ! !
Ce qui précède est le contenu de la récupération des bases de Java (8) : héritage et résumé des polypeptides. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !