zoukankan      html  css  js  c++  java
  • JAVA的多态

    多态

     1 abstract class MyShape {
     2     public abstract void getArea();
     3 
     4     public abstract void getLength();
     5 }
     6 
     7 class Circle extends MyShape {
     8 
     9     public static final double PI = 3.14;
    10     double r;
    11 
    12     public Circle(double r) {
    13         this.r = r;
    14     }
    15 
    16     public void getArea() {
    17         System.out.println("圆形的面积:" + PI * r * r);
    18     }
    19 
    20     public void getLength() {
    21         System.out.println("圆形的周长:" + 2 * PI * r);
    22     }
    23 }
    24 
    25 class Rect extends MyShape {
    26 
    27     int width;
    28     int height;
    29 
    30     public Rect(int width, int height) {
    31         this.width = width;
    32         this.height = height;
    33     }
    34 
    35     public void getArea() {
    36         System.out.println("矩形的面积:" + width * height);
    37     }
    38 
    39     public void getLength() {
    40         System.out.println("矩形的周长:" + 2 * (width + height));
    41     }
    42 }
    43 
    44 public class Demo {
    45     // 1、定义一个函数接收任意类型的图形对象
    46     public static void printThe(MyShape s) {
    47         s.getArea();
    48         s.getLength();
    49     }
    50 
    51     // 2、定义一个函数返回任意类型的图形对象
    52     public static MyShape getSharp(int i) {
    53         if (i == 0) {
    54             return new Circle(4.0);
    55         } else {
    56             return new Rect(3, 4);
    57         }
    58     }
    59 
    60     public static void main(String[] args) {
    61         Circle c = new Circle(4.0);
    62         printThe(c);
    63         Rect r = new Rect(3, 4);
    64         printThe(r);
    65 
    66         MyShape ms = getSharp(0);
    67         ms.getArea();
    68         ms.getLength();
    69     }
    70 }
  • 相关阅读:
    SQL所有者更改问题
    人生路上对我影响最大的三位老师
    自我介绍
    Ural_1146. Maximum Sum (DP)
    Ural_1654. Cipher Message(栈)
    Ural_1333. Genie Bomber 2
    POJ_2112 Optimal Milking(网络流)
    Ural_1031.Railway Ticket (DP)
    Ural_1030. Titanic
    Ural_1207. Median on the Plane(计算几何)
  • 原文地址:https://www.cnblogs.com/ronle/p/9807194.html
Copyright © 2011-2022 走看看