Orienté objet (interface, polymorphisme)
Interface
(1) Lorsque les méthodes de la classe abstraite sont abstraites, Java fournit une nouvelle forme d'expression : l'interface, qui est une collection de fonctions Impossible de créer un objet.
(2) format
Interface parent : interface publique Tnter{
}
Sous-classe : classe publique interImp implémente Itner{
>
Utilisation des interfaces
1. Les interfaces ne peuvent pas créer d'objets
2. Définir des classes d'implémentation pour implémenter les interfaces
Mots-clés d'implémentation implémente
3. Remplacer les méthodes abstraites
4. Créer des objets de classe d'implémentation et appeler des méthodes
Caractéristiques des interfaces
1. N'a pas besoin d'être modifié par le résumé
2 .Une classe implémente une interface, qui peut être implémentée seule ou de plusieurs manières
3. Une interface peut hériter d'une interface, soit seule, soit de plusieurs manières
4. Les fonctions d'une interface et d'une classe parent peuvent être répétées, ce qui signifie qu'ils doivent avoir certaines fonctions.
Caractéristiques des membres des interfaces
Variables membres constantes statiques
Modificateur fixe public static final
Indépendamment de l'écriture ou non, ce modificateur reste inchangé
Méthode membre
Modificateur fixe public abstract
Qu'il soit écrit ou non, ce modificateur reste inchangé
Classe abstraite et différences dans les interfaces
1. Différences entre les membres
Classe abstraite :
Variables membres : peuvent être des variables ou des constantes
Constructeur : il existe un constructeur pour l'instanciation des sous-classes Utiliser
méthode membre : elle peut être abstrait ou non abstrait
interface :
variable membre : ne peut être qu'une constante
modificateur par défaut : public static final
méthode membre : ne peut être qu'abstraite
modificateur par défaut : public abstract
Recommandation : veuillez toujours donner le modificateur par défaut manuellement
2. La différence entre les classes et les interfaces
Classes et classes :
Relation d'héritage, un seul héritage , l'héritage multi-niveaux est possible
Classes et interfaces :
Relation d'implémentation, implémentation unique ou implémentations multiples sont possibles
Classe également Vous pouvez hériter d'une classe et implémenter plusieurs interfaces en même temps
Interface et interface :
Relation d'héritage, vous pouvez avoir un héritage unique ou un héritage multiple
3 Les concepts incarnés sont différents
Ce qui est défini dans les classes abstraites. sont des contenus communs dans un système d'héritage
Les interfaces sont un ensemble de fonctions, de fonctions supplémentaires d'un système et de règles exposées
Tout est utilisé Partout où la classe/interface parent fait référence, sa sous-classe/implémentation l'objet de classe peut être passé en
Polymorphisme
Le même objet est réfléchi à différents moments Différents états
Exemple : eau (eau, glace, eau vapeur)
cat (chat, animal)
Prérequis :
A : Il existe une relation d'héritage ou d'implémentation
B : Il existe une méthode Rewrite
C : Une référence à partir des points de la classe parent à l'objet de sous-classe
Caractéristiques de l'utilisation de membres dans le polymorphisme
Fu fz=new Zi();
Lorsqu'elles sont polymorphes, toutes les expressions sont la classe parent La forme d'expression
n'est que lorsqu'une méthode est appelée, la méthode réécrite par la sous-classe est exécutée
1. Variables membres
Compilez et voyez à gauche Exécutez et exécutez et voyez à gauche
2. Méthodes membres
Compilez et voyez à gauche. et cours. Regardez à droite
1 class Fu{ 2 int num=4; 3 void show(){ 4 system.out.println("showFu") 5 } 6 7 } 8 class Zi extends Fu{ 9 10 int num=5;11 void show(){12 system.out.println("showZi");13 }14 }15 class T{16 public static void main(String args[]){17 Fu f=new Zi();18 system.out.println(f.num);19 f.show();20 }21 }
Transformation en polymorphisme
1. Transformation vers le haut
Attribuez la sous-classe. object to La référence de la classe parent (interface) est automatiquement saisie
int a=0; double b=a;
Fu fz=new Zi();
2. Downcast
vers le La référence de la classe parent (interface)) est forcée dans un objet de sous-classe
double b=10.0;
int a=(int)b;
Fu fz=new Zi();
Zi zi=(Zi )fz;
Remarque : Fu fu=new Fu() ne peut pas être converti vers le bas et signalera une exception de conversion de type ClassCastException
Avantages et inconvénients du polymorphisme
1. Avantages
Améliore la maintenabilité et l'évolutivité du programme
2. Inconvénients
Impossible d'appliquer le contenu spécifique à la sous-classe
Si vous souhaitez l'utiliser, vous devez soit downcast, soit recréer l'objet de sous-classe
Trois formes de polymorphisme
1. Nom de la variable de classe parent du polymorphisme de classe concret = nouvelle sous-classe ()
2. Nom de la variable de classe abstraite parent du polymorphisme de classe abstrait = nouvelle sous-classe ( )
3. Polymorphisme d'interface Nom de la variable d'interface = new Classe d'implémentation ()
instanceof password
Format : nom d'objet instanceof class name
Valeur de retour : true false
Fonction : Déterminer si l'objet spécifié est un objet créé par une classe donnée
Animal a1=new Cat();
Animal a2=new Dog();
method(a1)
public static void method(Animal a){
if(a instanceof Cat){
Downcast
Appeler la méthode spécifique au chat
}
}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Lorsque nous assemblons l'ordinateur, bien que le processus d'installation soit simple, nous rencontrons souvent des problèmes de câblage. Souvent, les utilisateurs branchent par erreur la ligne d'alimentation du radiateur du processeur au SYS_FAN. Bien que le ventilateur puisse tourner, il peut ne pas fonctionner lorsque le ventilateur fonctionne. L'ordinateur est allumé. Il y aura une erreur F1 "CPUFanError", qui empêchera également le refroidisseur du processeur d'ajuster intelligemment la vitesse. Partageons les connaissances communes sur les interfaces CPU_FAN, SYS_FAN, CHA_FAN et CPU_OPT sur la carte mère de l'ordinateur. Science populaire sur les interfaces CPU_FAN, SYS_FAN, CHA_FAN et CPU_OPT sur la carte mère de l'ordinateur 1. CPU_FANCPU_FAN est une interface dédiée pour le radiateur du processeur et fonctionne à 12 V.

En tant que langage de programmation moderne et efficace, le langage Go possède de riches paradigmes de programmation et des modèles de conception qui peuvent aider les développeurs à écrire du code maintenable de haute qualité. Cet article présentera les paradigmes de programmation et les modèles de conception courants dans le langage Go et fournira des exemples de code spécifiques. 1. Programmation orientée objet Dans le langage Go, vous pouvez utiliser des structures et des méthodes pour implémenter une programmation orientée objet. En définissant une structure et des méthodes de liaison à la structure, les fonctionnalités orientées objet d'encapsulation de données et de liaison de comportement peuvent être obtenues. packagemaini

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.

Voici comment convertir un tableau de résultats de requête MySQL en objet : Créez un tableau d'objets vide. Parcourez le tableau résultant et créez un nouvel objet pour chaque ligne. Utilisez une boucle foreach pour attribuer les paires clé-valeur de chaque ligne aux propriétés correspondantes du nouvel objet. Ajoute un nouvel objet au tableau d'objets. Fermez la connexion à la base de données.

Introduction à l'interface PHP et à sa définition. PHP est un langage de script open source largement utilisé dans le développement Web. Il est flexible, simple et puissant. En PHP, une interface est un outil qui définit des méthodes communes entre plusieurs classes, réalisant le polymorphisme et rendant le code plus flexible et réutilisable. Cet article présentera le concept des interfaces PHP et comment les définir, et fournira des exemples de code spécifiques pour démontrer leur utilisation. 1. Concept d'interface PHP L'interface joue un rôle important dans la programmation orientée objet, définissant l'application de classe

La raison de l'erreur est en python. La raison pour laquelle NotImplementedError() est lancée dans Tornado peut être due au fait qu'une méthode ou une interface abstraite n'est pas implémentée. Ces méthodes ou interfaces sont déclarées dans la classe parent mais non implémentées dans la classe enfant. Les sous-classes doivent implémenter ces méthodes ou interfaces pour fonctionner correctement. Comment résoudre ce problème consiste à implémenter la méthode abstraite ou l'interface déclarée par la classe parent dans la classe enfant. Si vous utilisez une classe pour hériter d'une autre classe et que vous voyez cette erreur, vous devez implémenter toutes les méthodes abstraites déclarées dans la classe parent dans la classe enfant. Si vous utilisez une interface et que vous voyez cette erreur, vous devez implémenter toutes les méthodes déclarées dans l'interface dans la classe qui implémente l'interface. Si vous n'êtes pas sûr de savoir lequel

En PHP, un tableau est une séquence ordonnée et les éléments sont accessibles par index ; un objet est une entité avec des propriétés et des méthodes, créée via le mot-clé new. L'accès au tableau se fait via l'index, l'accès aux objets se fait via les propriétés/méthodes. Les valeurs du tableau sont transmises et les références d'objet sont transmises.

L'objet Request en PHP est un objet utilisé pour gérer les requêtes HTTP envoyées par le client au serveur. Grâce à l'objet Request, nous pouvons obtenir les informations de demande du client, telles que la méthode de demande, les informations d'en-tête de demande, les paramètres de demande, etc., afin de traiter et de répondre à la demande. En PHP, vous pouvez utiliser des variables globales telles que $_REQUEST, $_GET, $_POST, etc. pour obtenir les informations demandées, mais ces variables ne sont pas des objets, mais des tableaux. Afin de traiter les informations demandées de manière plus flexible et plus pratique, vous pouvez
