zoukankan      html  css  js  c++  java
  • 11周上机

    (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 dfishf;
    
    public class homework{
        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 dfishf;
    
    public class homework{
        public static void main(String[] args) {
            Vehicle c=new Vehicle();
            c.brand="benz";
            c.color="black";
            c.run();
        }
    }
    复制代码
    复制代码
    package dfishf;
    
    public class homework{
        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 dfishf;
    
    public class homework {
    
        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方法。

    复制代码
     
    复制代码
    public class homework {
        public static void main(String[] args) {
            Rectangle r=new Rectangle("蓝",6,6);
            Circle c=new Circle("蓝",7);
            r.getAll();
            c.getAll();
        }
    }
    
    
    
    
    public abstract class Shape {
        double area;
        double per;
        String color;
    
        public Shape() {
        }
    
        public Shape(String color) {
            this.color = color;
        }
    
        public Shape(int area, int per, String color) {
            this.area = area;
            this.per = per;
            this.color = color;
        }
        public abstract double getArea();
        public abstract double getPer();
        public abstract void getAll();
    
        public String getColor() {
            return color;
        }
    }
    
    
    
    
    public class Rectangle extends Shape{
        int width;
        int height;
    
        public Rectangle(String color, int width, int height) {
            super(color);
            this.width = width;
            this.height = height;
        }
    
        @Override
        public double getArea() {
             area=width*height;
            return area;
        }
    
        @Override
        public double getPer() {
            per=(width+height)*2;
            return per;
        }
    
        @Override
        public void getAll() {
            System.out.println("宽为"+width+"高为"+height+"面积为"+getArea()+"周长为"+getPer());
    
        }
    }
    
    
    
    
    
    
    
    
    public class Circle extends Shape {
        int radius;
    
        public Circle(String color, int radius) {
            super(color);
            this.radius = radius;
        }
    
        @Override
        public double getArea() {
        area=3.14*(radius*radius);
            return area;
        }
    
        @Override
        public double getPer() {
        per=2*3.14*radius;
            return per;
        }
    
        @Override
        public void getAll() {
            System.out.println("半径为"+radius+"面积为"+getArea()+"周长为"+getPer());
        }
    }
  • 相关阅读:
    leetcode 350. Intersection of Two Arrays II
    leetcode 278. First Bad Version
    leetcode 34. Find First and Last Position of Element in Sorted Array
    leetcode 54. Spiral Matrix
    leetcode 59. Spiral Matrix II
    leetcode 44. Wildcard Matching
    leetcode 10. Regular Expression Matching(正则表达式匹配)
    leetcode 174. Dungeon Game (地下城游戏)
    leetcode 36. Valid Sudoku
    Angular Elements
  • 原文地址:https://www.cnblogs.com/wishings/p/12887573.html
Copyright © 2011-2022 走看看