zoukankan      html  css  js  c++  java
  • Java自学第五十一天

      今天做C++典型例题。

      

    定义shape类,无数据成员,包含两个纯虚函数成员void setvalues() 和float area() ,由shape类进行派生如下:

    矩形类,包含两个数据成员变量用于描述底和高,均为float类型,重新定义上述两个纯虚函数成员,完成数据成员值的设定和面积的计算;

    三角形类,包含两个数据成员变量用于描述底和高,均为float类型,重新定义上述两个纯虚函数成员,完成数据成员值的设定和面积的计算;

    正方形类,包含一个数据成员变量用于描述边长,float类型,重新定义上述两个纯虚函数成员,完成数据成员值的设定和面积的计算;

    圆形类,包含一个数据成员变量用于描述半径,float类型,重新定义上述两个纯虚函数成员,完成数据成员值的设定和面积的计算;

    在主函数中定义相应的指针对象和普通对象,利用虚函数实现多态,依次分别输入矩形的底和高,三角形的底和高,正方形的边长,圆形的半径,若其中任何一个值小于等于0,则输出Set Value Error!,然后退出程序,对于之前已正确输入的数值计算相应形状的面积。

        代码如下

      

    package hello;

    import java.util.Scanner;

    abstract class shape{

        abstract public void setvalues(float a,float b);

        abstract public float area();

    }

    class juxing extends shape{

        private float di,gao;

        public void setvalues(float a,float b) {

            di=a;

            gao=b;

        }

        public float area() {

            return di*gao;

        }

    }

    class sanjiao extends shape{

        private float di,gao;

        public void setvalues(float a,float b) {

            di=a;

            gao=b;

        }

        public float area() {

            return di*gao/2;

        }

    }

    class zheng extends shape{

        private float bian;

        public void setvalues(float a,float b) {

            bian=a;

        }

        public float area() {

            return bian*bian;

        }

    }

    class yuan extends shape{

        private float r;

        public void setvalues(float a,float b) {

            r=a;

        }

        public float area() {

            return (float) (3.14*r*r);

        }

    }

    public class helloword {

        public static void main(String[] args){

        Scanner cn=new Scanner(System.in);

        System.out.println("输入矩形的底和高");

        juxing j=new juxing();

        j.setvalues(cn.nextFloat(), cn.nextFloat());

        System.out.println("矩形面积:"+j.area());

        sanjiao s=new sanjiao();

        System.out.println("输入三角形的底和高");

        s.setvalues(cn.nextFloat(),cn.nextFloat());

        System.out.println("三角形的面积:"+s.area());

        zheng z=new zheng();

        System.out.println("输入正方形的边长");

        z.setvalues(cn.nextFloat(), 0);

        System.out.println("正方形的面积:"+z.area());

        yuan y=new yuan();

        System.out.println("圆的半径");

        y.setvalues(cn.nextFloat(),0);

        System.out.println("圆的面积:"+y.area());

        }

    }

       这道题目都继承了一个类shape,都会重写shape类中的函数,可以算多个图形的面积。

      明天继续做C++典型例题。

  • 相关阅读:
    Spark学习之路 九、SparkCore的调优之数据倾斜调优
    Spark学习之路 八、SparkCore的调优之开发调优
    Spark Core、Spark Sql、Spark Streaming 联系与区别
    Spark学习之路 七、Spark 运行流程
    Spark学习之路 六、Spark Transformation和Action
    Spark学习之路 五、Spark伪分布式安装
    一起来学习Shell脚本
    简单整理React的Context API
    阅读别人项目源码时的随手记(乱七八糟待归类整理)
    React.Component 与 React.PureComponent(React之性能优化)
  • 原文地址:https://www.cnblogs.com/ruangongwangxiansheng/p/13591344.html
Copyright © 2011-2022 走看看