• 第十一周上机练习(5.14)


    1、(1)定义一个汽车类Vehicle,要求如下:(知识点:类的继承 方法的覆盖)
    (a)属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型)。
    (b)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。
    (c)为属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。
    (d)定义一个一般方法run(),用打印语句描述汽车奔跑的功能
    定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”、颜色为“black”的汽车。
    (2)定义一个Vehicle类的子类轿车类Car,要求如下:
    (a)轿车有自己的属性载人数loader(int 类型)。
    (b)提供该类初始化属性的构造方法。
    (c)重新定义run(),用打印语句描述轿车奔跑的功能。
    (d)定义测试类Test,在其main方法中创建一个品牌为“Honda”、颜色为“red”,载人数为2人的轿车。

    package lllll;

    public class Vehicle {
             public String brand;
             public String color;
             double speed=0;
             public String getBrand() {
             return brand;
                   }
            public void setBrand(String brand) {
            this.brand = brand;
           }
             public String getColor() {
             return color;
                 }
             public void setColor(String color) {
             this.color = color;
         }
              public double getSpeed() {
              return speed;
              }
              public void setSpeed(double speed) {
              this.speed = speed;
        }
              public void run(){
              System.out.println("一辆"+this.color+"的"+this.brand+"正在以"+this.speed+"的速度跑");
              }
    }

    package lllll;

    public class Vehicle01 {
    public static void main(String[] args) {
              Vehicle c = new Vehicle();
              c.brand="benz";
              c.color="black";
              c.run();
             }
    }

    package lllll;

    public class Car extends Vehicle {
              int loader;

              public int getLoader() {
              return loader;
          }

              public void setLoader(int loader) {
              this.loader = loader;
                }
              public void run(){
              System.out.println("一辆"+this.color+"载客数为"+this.loader+"的"+this.brand+"正在以"+this.speed+"的速度跑");
          }
    }

    package lllll;

    public class Test {
    public static void main(String[] args) {
              Car c=new Car();
              c.brand="Honda";
              c.color="red";
              c.loader=2;
              c.run();
             }
    }

    2、设计四个类,分别是:(知识点:抽象类及抽象方法)
    (1)Shape表示图形类,有面积属性area、周长属性per,颜色属性color,有两个构造方法(一个是默认的、一个是为颜色赋值的),还有3个抽象方法,分别是:getArea计算面积、getPer计算周长、showAll输出所有信息,还有一个求颜色的方法getColor

    (2)2个子类:

    1)Rectangle表示矩形类,增加两个属性,Width表示长度、height表示宽度,重写getPer、getArea和showAll三个方法,另外又增加一个构造方法(一个是默认的、一个是为高度、宽度、颜色赋值的)。
    2)Circle表示圆类,增加1个属性,radius表示半径,重写getPer、getArea和showAll三个方法,另外又增加两个构造方法(为半径、颜色赋值的)。
     (3)一个测试类PolyDemo,在main方法中,声明创建每个子类的对象,并调用2个子类的showAll方法。

    package lllll;

    public abstract class Shape {
             protected double area;// 面积
             protected double per;// 周长
             protected String color;// 颜色

             public Shape() {

                   }

              public Shape(String color) {
              this.color = color;
               }

              public abstract void s();

              public abstract void c();

              public abstract void showAll();
               }


    package lllll;

    public class Rectangle extends Shape {

               double width;
               double height;

              public Rectangle() {

                }

              public Rectangle(double width, double height, String color) {
              super();
              this.width = width;
              this.height = height;
              this.color = color;
               }

              @Override
              public void s() {
              area = width * height;

              }

              @Override
              public void c() {
              // TODO 自动生成的方法存根
              per = (width + height) * 2;
                   }

              @Override
               public void showAll() {

              System.out.println("矩形面积为:" + area + ",周长为:" + per+",颜色:"+color);
        }

    }

    public class Circle extends Shape {
              double radius;

              public Circle() {

                    }

               public Circle(double radius, String color) {
               this.color = color;
              this.radius = radius;
            }

               @Override
              public void s() {
              // TODO 自动生成的方法存根
               area = radius * radius * 3.14;
                    }

              @Override
               public void c() {
               // TODO 自动生成的方法存根
               per = 2 * radius * 3.14;
            }

               @Override
               public void showAll() {
               // TODO 自动生成的方法存根
               System.out.println("圆的面积为:" + area + ",周长为:" + per+",颜色:"+color);
               }

     }

    public class Test77 {
    public static void main(String[] args) {
                  Circle circle = new Circle(2,"break");
                  Rectangle rectangle = new Rectangle(3,5,"red");
                  circle.s();
                  circle.c();
                  circle.showAll();

                 rectangle.s();
                 rectangle.c();
                 rectangle.showAll();

               }

     }

  • 相关阅读:
    Python获取命令行参数的正确方法,案例详解
    字符串在Python内部是如何省内存的?案例详解
    给Python初学者的最好练手项目,值得收藏
    搞定这套Python爬虫面试题,面试so easy
    如何用Python 写一个简易的抽奖程序,值得收藏
    Python爬虫爬取淘宝,京东商品信息
    Python 0基础开发游戏,打地鼠(详细教程)
    一元函数微分学几何应用(三)-- 渐近线
    一元函数微分学几何应用(二)-- 凹凸性与拐点
    一元函数微分学几何应用(一)-- 单调性与极值
  • 原文地址:https://www.cnblogs.com/fanbudufan/p/12887365.html
Copyright © 2020-2023  润新知