Ci-dessous, j'utiliserai deux exemples pour illustrer complètement l'évolutivité du polymorphe en Java. En tant qu'un excellent programmeur, vous devez comprendre l'évolutivité des programmes, qui est très propice au développement ultérieur des programmes.
Le premier exemple:
Utilisez la carte mère de l'ordinateur comme exemple. Pour la carte mère de l'ordinateur que nous connaissons, y a-t-il de nombreux modules, cartes réseau et cartes son? Si vous souhaitez utiliser ces fonctions, vous ne pouvez utiliser la carte mère que pour s'exécuter, puis alimenter les cartes réseau et les cartes son. Mais comment cela peut-il être réalisé dans le langage logiciel? Devez-vous d'abord exécuter la carte mère, puis la carte son ou la carte réseau? Mais de cette manière, l'expansion n'est pas élevée et le fonctionnement de l'exécution de la carte son et de l'exécution de la carte réseau est répété. De plus, de nombreux modules ont également de telles fonctions, vous pouvez donc simplement exécuter le module sur la carte mère. C'est l'un d'eux. Si, ce jour-là, lorsque la technologie est mise à jour et qu'un nouveau module apparaît, avez-vous besoin de créer l'objet module, puis d'exécuter à nouveau? Ce n'est évidemment pas propice au développement. Cependant, pour ce problème, après que les fabricants de carte mère ont discuté avec les fabricants de cartes sonores et de carte réseau, ils utiliseront une interface PCI pour connecter la carte mère et le module à l'avenir, ce qui résout complètement le problème de l'incapacité d'utiliser ou de réutiliser des mises à jour. Cela correspond au polymorphisme de notre java. En utilisant le polymorphisme, nous pouvons considérablement améliorer l'évolutivité du programme!
Le code spécifique est le suivant!
/ * Exigences: Exemples en cours d'exécution de l'ordinateur, ordinateur en fonction de la carte mère. * / interface pci {public void open (); public void close ();} class Constard Main {public void run () {System.out.println ("Mainboard Run"); } public void usepci (pci p) // pci p = new NetCard () // Points de référence de l'interface à son propre objet de sous-classe. {if (p! = null) {p.open (); P.Close (); }}} classe NetCard implémente PCI {public void open () {System.out.println ("NetCard Open"); } public void close () {System.out.println ("Netcard Close"); méthode(); }} class SoundCard implémente PCI {public void open () {System.out.println ("Soundcard Open"); } public void close () {System.out.println ("Soundcard Close"); }} / * classe Mainboard de classe {public void run () {System.out.println ("Mainboard Run"); } public void USENetCard (Netcard c) {c.open (); C.Close (); }} class NetCard {public void open () {System.out.println ("NetCard Open"); } public void close () {System.out.println ("Netcard Close"); }} * / class duotaidemo5 {public static void main (String [] args) {emboîte Main MB = newboard (); Mb.run (); Mb.Usepci (null); MB.USEPCI (new NetCard ()); MB.USEPCI (New SoundCard ()); }}Le deuxième exemple:
Utilisez des bases de données communes pour expliquer le polymorphisme. En ce qui concerne les bases de données que nous connaissons, il existe actuellement deux modes de connexion de base de données: JDBC et connexion hibernatelian. Lorsque vous utilisez des bases de données, il existe deux opérations essentielles: la connexion et la fermeture. À l'heure actuelle, utilisez l'interface pour résumer ces deux opérations, et vous devez utiliser le mode de connexion pour modifier directement le nom de classe!
Le code spécifique est le suivant!
/ * Exigences: fonctionnement de la base de données. Les données sont: Informations utilisateur. 1. Connectez-vous à la base de données. JDBC HiberNate2, exploite la base de données. C Créer R Lire U Mise à jour D Delete3, fermez la connexion de la base de données. * / interface userInfodao {public void add (utilisateur utilisateur); public void Delete (utilisateur utilisateur);} classe UserInfoByJDBC implémente userInOfDao {public void add (utilisateur utilisateur) {1, JDBC se connecte à la base de données. ; 2. Utilisez SQL pour ajouter une instruction pour ajouter des données. ; 3, fermez la connexion. } public void delete (utilisateur utilisateur) {1, JDBC se connecte à la base de données. ; 2. Utilisez une instruction SQL ADD pour supprimer les données. ; 3, fermez la connexion. }} classe UserInfoByHibernate implémente userInfodao {public void add (utilisateur utilisateur) {1, HiberNate se connecte à la base de données. ; 2. Utilisez SQL pour ajouter une instruction pour ajouter des données. ; 3, fermez la connexion. } public void delete (utilisateur utilisateur) {1, Hibernate se connecte à la base de données. ; 2. Utilisez une instruction SQL ADD pour supprimer les données. ; 3, fermez la connexion. }} class dboperate {public static void main (String [] args) {// userInfoByjdbc ui = new UserInfoByjdbc (); // userInfoByHiberNate ui = new UserInfoByHiberNate (); UserInfodao ui = new UserInfoByHiberNate (); ui.add (utilisateur); ui.delete (utilisateur); }}Résumer:
1. Les deux exemples utilisent des interfaces pour abstraction de certaines opérations répétitives. Afin de permettre à différents modules d'utiliser ces opérations directement et rapidement, nous pouvons utiliser directement la transformation ascendante polymorphe (voir mon blog précédent), puis utiliser la référence de la classe parent pour l'appeler. Quoi qu'il en soit, que la technologie soit mise à jour et que de nouveaux modules sont disponibles ou que les modules existants soient remplacés, nous pouvons utiliser la référence de classe parent pour appeler directement leurs opérations communes!
2. Vous n'avez pas à utiliser les interfaces, vous pouvez également utiliser des classes abstraites. Cependant, l'utilisation d'interfaces sera plus évolutive. Si vous les mettez à jour à l'avenir, vous pouvez modifier directement l'interface sans modifier les classes abstraites. Deuxièmement, l'utilisation d'interfaces peut être plus héritée! C'est aussi un endroit pratique.
L'article ci-dessus Java utilise deux exemples pour illustrer pleinement l'évolutivité des polymorphismes. C'est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.