用eclipse写public abstract class MyPrint { public abstract void show(); } public class MyPrintSquare extends MyPrint { @Override public void show() { //打印正方形 for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (j==0||j==4){ System.out.print("*"); }else if (i==0||i==4){ System.out.print("*"); }else { System.out.print(" "); } } System.out.println(); } } } public class MyPrintCircle extends MyPrint { @Override public void show() { //打印圆形 for (int y = 0; y <= 10; y +=2) { int x =(int)Math.round(5-Math.sqrt(10*y-y*y)); int len =2*(5-x); for (int i = 0; i <= x; i++) { System.out.print(" "); } System.out.print("*"); for (int j = 0; j <= len; j++) { System.out.print(" "); } System.out.println("*"); } } } public class Experiment5_1{ public static void main(String[] args) { MyPrint sqrare = new MyPrintSquare(); MyPrint circle = new MyPrintCircle(); sqrare.show(); circle.show(); } }
时间: 2023-06-08 07:08:45 浏览: 81
C++的template模板中class与typename关键字的区别分析
5星 · 资源好评率100%
这段代码展示了面向对象编程中的抽象类和继承的概念。抽象类 MyPrint 中定义了抽象方法 show(),该方法在 MyPrintSquare 和 MyPrintCircle 子类中被重写并实现了正方形和圆形的打印。在 Experiment5_1 类中,实例化 MyPrintSquare 和 MyPrintCircle 类并分别调用它们的 show() 方法来打印出正方形和圆形。
阅读全文