zoukankan      html  css  js  c++  java
  • 总结&报告四1

    实验目的:
    (1)掌握类的继承方法;
    (2)变量的继承和覆盖,方法的继示、重载和覆盖实现;

    二、实验内容
    (1)根据下面的要求实现圆类Circle.
    ①圆类Cirle的成员变量: radius 表示圆的半径。
    ②圆类Cirdle的方法成员:
    Circle () :构造方法,将半径置0
    Circle (doubler) :构造方法:
    创建Circle对象时将半径初始化为r
    double getRadius () :获得圆的半径值
    double getPerimeter () :获得圆的周长
    void disp O :将圆的半径、圆的周长和圆的面积输出到屏幕
    (2)维承第(1)题中的圆Circle类,派生圆柱体类Cylinder。要求如下:
    ①圆柱体类Cylinder的成员变量: height 表示圆柱体的高。
    ②圆柱体类Cylinder的成员方法:Cylinder (doubler, double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱高初始化为h

    public class demo2 {

     private double radius;
      demo2(){
    	 radius=0;//构造方法将半径置0
     }
      public demo2(double r) {             //第七行和第十行有什么区别
    	 radius=r;
     }
     
     public double getRadius() {
    	 return radius;
     }
     public void setRadius(double radius) {
    	 this.radius=radius;
     }
     
     public double getPerimeter() {
    	 return 2*Math.PI*radius;
     }
     public double getArea() {
    	 return Math.PI*Math.pow(radius,2);//在java里引入Π的一种方法
     }
     public static void main(String[] args) {
    	 demo2 a=new demo2(1);
    	 System.out.println("周长:"+a.getPerimeter());
    	 System.out.println("面积:"+a.getArea());
    	 System.out.println("半径:"+a.getRadius());
     }
    

    }
    运行结果

    在后面这个第二问中 我开始不知道我的代码错误在哪 于是出现了如下情况
    在这个第33行代码以后 加不加运行结果都是一样的

    后来问同学的时候发现是有两个主入口 所以输出的结果只有之前的那一个 后面那个则被忽略
    public class demo2 {

     private double radius;
     public demo2(){
    	 radius=0;//构造方法将半径置0
     }
     public demo2(double r) {             //第七行和第十行有什么区别
    	 radius=r;
     }
     
     public double getRadius() {
    	 return radius;
     }
     public void setRadius(double radius) {
    	 this.radius=radius;
     }
     
     public double getPerimeter() {
    	 return 2*Math.PI*radius;
     }
     public double getArea() {
    	 return Math.PI*Math.pow(radius,2);//在java里引入Π的一种方法,一句话要写两个Math
     }
     public static void main (String[] args){
    	 demo2 a=new demo2(1);
    	 System.out.println("周长:"+a.getPerimeter());
    	 System.out.println("面积:"+a.getArea());
    	 System.out.println("半径:"+a.getRadius());
     }
    

    }

    class cylinder extends demo2{
    private double height;
    private double radius;
    public cylinder(double r,double h){
    this.radius=r; //这一行是不是也可以不写
    this.height=h; //这是在整啥?
    }
    public double getHeight(){
    return this.height;
    }

    	 public double getVol(){
    		 return super.getArea()*height;
    	 }
    	 public static void main(String[] args){
    		 cylinder b=new cylinder(1,2);        //这里还要令一个方法
    		 
    		
    		 System.out.println("高:"+b.getHeight());
    		 System.out.println("体积:"+b.getVol());
    		 
    	 }
    	 
    	 
     }
    

    本周总结
    因为我没有听太懂上课老师讲的 然后又要写这次的作业 所以我就先是看书然后再去做题 这次的题目比较简单 主要是一个继承的方法以及继承后扩展的方法
    这两个主要讲的是在重载父类与子类关系时的一个易错点

    接口类
    定义:如果类的所有方法都没有实现,那么这个类就算是接口
    抽象类:
    定义:若方法只有方法名字,形参列表,没有方法体,那所在的类就被定义为抽象类。

  • 相关阅读:
    LeetCode 123 Best Time to Buy and Sell Stock III
    直接选择排序算法汇总
    zoom:1是什么意思
    怎么去掉织梦网站首页带的index.html/index.php
    wamp apache无法启动的解决方法
    提交到svn服务器时,一直缓冲不,
    桌面上图标都不见了怎么办听语音
    如何清除网上浏览痕迹?清除缓存
    TortoiseSVN文件夹及文件图标不显示解决方法
    快捷键
  • 原文地址:https://www.cnblogs.com/JCclub/p/11632263.html
Copyright © 2011-2022 走看看