多态的成员特点

Nov 26, 2016 am 10:14 AM
多态

⒈在多态中非静态成员函数的特点:
①在编译时期:参阅引用型变量所属的类中是否有调用方法。如果有,编译通过,否则编译失败;
②在运行时期:参阅对象所属的类中是否有调用的方法。
--------------------------------------------------
//总之:成员函数在调用时,编译看左边,运行看右边。//
--------------------------------------------------
2.在多态中成员同名变量的特点:(ps:不同名未考证)
无论编译还是运行,都参考左边(引用型变量所属的类)
3.在多态中静态成员函数的特点:
无论编译还是运行,都参考左边(引用型变量所属的类)
example:

Class Fu 
{ 
int num=1;
public void method1()
{
System.out.println("fu_1");
}
public void method3()
{
System.out.println("fu_3");
}
//静态方法(包括变量)不所属于对象,它绑定于所属的类,会在内存中提前加载出来
public static void method4()
{
System.out.println("fu_4");
}
}
Class Zi extends Fu
{
int num=2;
public void method1()
{
System.out.println("zi_1");
}
public void method2()
{
System.out.println("zi_2");
}
public static void method4()
{
System.out.println("zi_4");
}
}
Class Duotaitest
{
public static void main (String [] args)
{
Fu f=new Zi ();
f.method1();
//f.method2(); 此行代码若存在,则编译失败,Fu类中没此方法
f.method3();
f.method4();
System.out.println(f.num);
Zi z= new Zi();
System.out.println(z.num);
}
/* 
运行结果: zi_1
fu_3
fu_4 //静态方法不能被子类重写覆盖,若想调用子类中的静态方法(一般没这么用的,只是面试会用到)Zi.method4(类名.方法名)
1
2
*/
}
Copier après la connexion



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Table de fonctions virtuelles C++ et implémentation polymorphe, comment éviter le gaspillage de mémoire Table de fonctions virtuelles C++ et implémentation polymorphe, comment éviter le gaspillage de mémoire May 31, 2024 pm 07:03 PM

Les classes de base virtuelles optimisent la surcharge de mémoire des tables virtuelles en permettant l'héritage de plusieurs classes de base sans créer de tables virtuelles supplémentaires. Dans le code optimisé, la classe de base de forme n'a plus de table de fonctions virtuelles et les classes cercle et rectangle partagent la même table de fonctions virtuelles, réduisant ainsi la consommation de mémoire.

Comment implémenter le stockage polymorphe et l'interrogation multidimensionnelle des données dans MySQL ? Comment implémenter le stockage polymorphe et l'interrogation multidimensionnelle des données dans MySQL ? Jul 31, 2023 pm 09:12 PM

Comment implémenter le stockage polymorphe et l'interrogation multidimensionnelle des données dans MySQL ? Dans le développement d'applications pratiques, le stockage polymorphe et l'interrogation multidimensionnelle des données sont une exigence très courante. En tant que système de gestion de bases de données relationnelles couramment utilisé, MySQL offre diverses façons d'implémenter le stockage polymorphe et les requêtes multidimensionnelles. Cet article présentera la méthode d'utilisation de MySQL pour implémenter le stockage polymorphe et l'interrogation multidimensionnelle des données, et fournira des exemples de code correspondants pour aider les lecteurs à les comprendre et à les utiliser rapidement. 1. Stockage polymorphe Le stockage polymorphe fait référence à la technologie permettant de stocker différents types de données dans le même champ.

Comment utiliser le polymorphisme et l'héritage en PHP pour gérer les types de données Comment utiliser le polymorphisme et l'héritage en PHP pour gérer les types de données Jul 15, 2023 pm 07:41 PM

Comment utiliser le polymorphisme et l'héritage pour gérer les types de données en PHP Introduction : En PHP, le polymorphisme et l'héritage sont deux concepts importants de programmation orientée objet (POO). En utilisant le polymorphisme et l'héritage, nous pouvons gérer différents types de données de manière plus flexible. Cet article présentera comment utiliser le polymorphisme et l'héritage pour gérer les types de données en PHP et montrera leur application pratique à travers des exemples de code. 1. Le concept de base de l'héritage L'héritage est un concept important dans la programmation orientée objet. Il nous permet de créer une classe pouvant hériter des propriétés et des méthodes de la classe parent.

'Introduction à la programmation orientée objet en PHP : du concept à la pratique' 'Introduction à la programmation orientée objet en PHP : du concept à la pratique' Feb 25, 2024 pm 09:04 PM

Qu'est-ce que la programmation orientée objet ? La programmation orientée objet (POO) est un paradigme de programmation qui résume les entités du monde réel en classes et utilise des objets pour représenter ces entités. Les classes définissent les propriétés et le comportement des objets, et les objets instancient les classes. Le principal avantage de la POO est qu’elle rend le code plus facile à comprendre, à maintenir et à réutiliser. Concepts de base de la POO Les principaux concepts de la POO incluent les classes, les objets, les propriétés et les méthodes. Une classe est le modèle d'un objet, qui définit ses propriétés et son comportement. Un objet est une instance d’une classe et possède toutes les propriétés et comportements de la classe. Les propriétés sont les caractéristiques d'un objet pouvant stocker des données. Les méthodes sont des fonctions d'un objet qui peuvent opérer sur les données de l'objet. Avantages de la POO Les principaux avantages de la POO sont les suivants : Réutilisabilité : la POO peut rendre le code plus

Héritage, polymorphisme et interfaces : trois fonctionnalités majeures orientées objet de PHP Héritage, polymorphisme et interfaces : trois fonctionnalités majeures orientées objet de PHP May 11, 2023 pm 03:45 PM

PHP est un langage de programmation côté serveur qui prend en charge la programmation orientée objet (POO) depuis PHP5. L'idée principale de la POO est d'encapsuler les données et le comportement dans des objets pour améliorer la maintenabilité et l'évolutivité du programme. En PHP, la programmation orientée objet présente trois caractéristiques majeures : l'héritage, le polymorphisme et les interfaces. 1. Héritage L'héritage signifie qu'une classe peut hériter des propriétés et des méthodes d'une autre classe. La classe héritée est appelée classe parent ou classe de base, et la classe héritée est appelée sous-classe ou classe dérivée. Les sous-classes peuvent obtenir les propriétés et les méthodes de la classe parent par héritage et peuvent

La relation entre le polymorphisme et le mécanisme de répartition en PHP La relation entre le polymorphisme et le mécanisme de répartition en PHP Jul 07, 2023 pm 05:45 PM

La relation entre le polymorphisme et le mécanisme de répartition en PHP Dans la programmation orientée objet, le polymorphisme est un concept puissant qui permet à différents objets de répondre différemment au même message. En tant que langage de développement puissant, PHP prend également en charge le polymorphisme, auquel est étroitement lié le mécanisme de répartition. Cet article utilisera des exemples de code pour explorer la relation entre le polymorphisme et les mécanismes de répartition en PHP. Tout d’abord, comprenons ce qu’est le polymorphisme. Le polymorphisme signifie qu'un objet peut appeler les méthodes correspondantes en fonction de son type réel. En utilisant le polymorphisme, un programme peut être basé sur des objets spécifiques

Quelle est la différence entre la surcharge de la fonction Golang et le polymorphisme ? Quelle est la différence entre la surcharge de la fonction Golang et le polymorphisme ? Apr 30, 2024 am 09:30 AM

La surcharge de fonctions n'est pas prise en charge dans le langage Go car il adopte le typage duck et détermine le type de valeur en fonction du type réel. Le polymorphisme est obtenu grâce aux types d'interface et aux appels de méthodes, et les objets de différentes catégories peuvent répondre de la même manière. Plus précisément, en définissant des interfaces et en implémentant ces méthodes, le langage Go peut faire en sorte que des objets de différents types aient des comportements similaires, prenant ainsi en charge le polymorphisme.

Analyser la relation entre le polymorphisme et les interfaces dans la programmation orientée objet PHP Analyser la relation entre le polymorphisme et les interfaces dans la programmation orientée objet PHP Aug 10, 2023 pm 06:09 PM

La relation entre le polymorphisme et les interfaces dans la programmation orientée objet PHP Dans la programmation orientée objet PHP, le polymorphisme (Polymorphisme) est un concept important, qui permet d'utiliser des objets de différents types de manière unifiée. Le polymorphisme est réalisé grâce à l'implémentation d'interface (Interface). Cet article utilisera des exemples de code pour analyser la relation entre le polymorphisme et les interfaces dans la programmation orientée objet PHP. En PHP, une interface est une structure abstraite qui définit un ensemble de méthodes s'exprimant avec certaines capacités comportementales en implémentant des interfaces. interface

See all articles