zoukankan      html  css  js  c++  java
  • 10.6 多态

    1、概述
      利用多态可以使程序具有良好的扩展性,并开对所有类对象进行通用的处理。
      在下面例子运行结果可以看出,不同类对象的参数调用draw()方法已处理不同的图形问题。使用多态节省了开发和维护时间,因为程序员无须再所有的子类中定义执行相同功能的方法,避免了大量重复代码的开发,同时只要实例化一个继承父类对象即可调用相应的方法,这了只要维护父类中的这个方法可。

    例子10.12

     1 public class Quadrangle {
     2     //实例化四边形数据对象
     3     private Quadrangle[] qtest = new Quadrangle[6];
     4     private int nextIndex = 0;
     5     
     6     //定义draw()方法,参数为四边形对象
     7     public void draw(Quadrangle q) {
     8         if(nextIndex<qtest.length) {
     9             qtest[nextIndex] = q;
    10             System.out.println(nextIndex);
    11             nextIndex++;
    12         }
    13     }
    14     
    15     //主方法
    16     public static void main(String args) {
    17         //实例化二个四边形对象,用于调用draw()方法
    18         Quadrangle q = new Quadrangle();
    19         //q.draw(new Square());
    20         //q.draw(new Parallelogramgle());
    21         System.out.println("dddd");
    22     }
    23 }
    24 
    25 //定义一个正方形类,继承四边形类
    26 class Square extends Quadrangle{
    27     public Square() {
    28         System.out.println("正方形");
    29     }
    30 }
    31 
    32 //定义一个平行四边形类,继承四边形类
    33 class Parallelogramgle extends Quadrangle{
    34     public Parallelogramgle() {
    35         System.out.println("平行四边形");
    36     }
    37 }
    View Code

  • 相关阅读:
    The Worm Turns
    Equations
    Snail’s trouble
    WuKong
    Codeforces 369 C Valera and Elections
    POJ 2186 Popular Cows
    Codefroces 366 D Dima and Trap Graph (最短路)
    Codefroces 366 C Dima and Salad(dp)
    Codefroces 374 B Inna and Sequence (树状数组 || 线段树)
    Codeforces 374 C Inna and Dima (DFS)
  • 原文地址:https://www.cnblogs.com/studycode/p/9533699.html
Copyright © 2011-2022 走看看