zoukankan      html  css  js  c++  java
  • 第N上机练习~~~~~~~~~~~~~~~~~~~~~~~~~~~~吉林一定要加油!!!

    1、(1)定义一个汽车类Vehicle,要求如下:(知识点:类的继承 方法的覆盖)
    (a)属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型)。
    (b)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。
    (c)为属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。
    (d)定义一个一般方法run(),用打印语句描述汽车奔跑的功能

    package chap3;
    
    public class Vehicle {
        public String brand;
        public String color;
        double speed = 0;
    
        public Vehicle(String brand, String color) {
            super();
            this.brand = brand;
            this.color = color;
        }
    
        public String getBrand() {
            return brand;
        }
    
        public void setVehicle(String brand) {
            this.brand = brand;
        }
    
        public String getcolor() {
            return color;
        }
    
        public void setColor(String color) {
            this.color = color;
        }
    
        public double speed() {
            return speed;
        }
    
        public void setSpeed(double speed) {
            this.speed = speed;
        }
    
        public Vehicle() {
        }
    
        void run() {
            System.out.println("品牌" + brand + "颜色" + color + "速度" + speed);
        }
    }

    定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”、颜色为“black”的汽车。

    package chap3;
    
    public class tese {
        public static void main(String[] args) {
            Vehicle v=new Vehicle();
            v.setVehicle("benz");
            v.setColor("black");
            v.run();
        }
    }

    (2)定义一个Vehicle类的子类轿车类Car,要求如下:
    (a)轿车有自己的属性载人数loader(int 类型)。
    (b)提供该类初始化属性的构造方法。

    package chap3;
    
    public class tese2 extends Vehicle {
        int loader;
        void access(String brand,String color,int loader) {
            this.brand=brand;
            this.color=color;
            this.loader=loader;
        }
        void run() {
            System.out.println("品牌为"+brand+"颜色为"+color+"人数"+loader);
        }
    
    }

    (c)重新定义run(),用打印语句描述轿车奔跑的功能。
    (d)定义测试类Test,在其main方法中创建一个品牌为“Honda”、颜色为“red”,载人数为2人的轿车。

    package chap3;
    
    public class tese3 {
        public static void main(String[] args) {
            tese2 c;
            c = new tese2();
            c.access("Honda", "red", 2);
            c.run();
        }
    }

     

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

    package chap3;
    
    public abstract class Shape {
        protected double area;
        protected double per;
        protected String color;
    
        public Shape() {
        }
    
        public Shape(String color) {
            this.color = color;
        }
    
        public abstract double getArea();
    
        public abstract double getPer();
    
        public abstract void showAll();
    
        public String getcolor() {
            return this.color;
        }
    
    }

    2)2个子类:
    1)Rectangle表示矩形类,增加两个属性,Width表示长度、height表示宽度,重写getPer、getArea和showAll三个方法,另外又增加一个构造方法(一个是默认的、一个是为高度、宽度、颜色赋值的)。

    package chap3;
    
    public class Rectangle extends Shape {
        int weigth;
        int height;
    
        public Rectangle() {
        }
    
        public Rectangle(int weigth, int height, String color) {
            super();
            this.weigth = weigth;
            this.height = height;
            this.color = color;
        }
    
        public double getArea() {
            this.area = weigth * height;
            return this.area;
        }
    
        public double getPer() {
            this.per = 2 * (weigth + height);
            return this.per;
        }
    
        public void showAll() {
            System.out.println("该矩形长为" + this.weigth + ",宽为" + this.height + ",周长为" + this.getPer() + ",面积为"
                    + this.getArea() + ",颜色为" + this.getcolor());
    
        }
    }

    2)Circle表示圆类,增加1个属性,radius表示半径,重写getPer、getArea和showAll三个方法,另外又增加两个构造方法(为半径、颜色赋值的)。

    package chap3;
    
    public class Circle extends Shape {
        double radius;
        double pi = Math.PI;
    
        public Circle() {
        }
    
        public Circle(double radius, String color) {
            this.radius = radius;
            this.color = color;
        }
    
        public double getArea() {
            double area = pi * radius * radius;
            return area;
        }
    
        public double getPer() {
            double per = 2 * pi * radius;
            return per;
        }
    
        public void showAll() {
            System.out.println(
                    "半径为" + this.radius + "的圆,周长为" + this.getPer() + ",面积为" + this.getArea() + ",颜色为" + this.getcolor());
        }
    
    }

    (3)一个测试类PolyDemo,在main方法中,声明创建每个子类的对象,并调用2个子类的showAll方法。

    package chap3;
    
    public class PolyDemo {
        public static void main(String[] args) {
            Rectangle a = new Rectangle(2, 5, "yellow");
            Circle b = new Circle(2, "black");
            a.showAll();
            b.showAll();
        }
    }

  • 相关阅读:
    赫尔维茨公式
    从解析几何的角度分析二次型
    Struts 1 Struts 2
    记一次服务器被入侵的调查取证
    契约式设计 契约式编程 Design by contract
    lsblk df
    Linux Find Out Last System Reboot Time and Date Command 登录安全 开关机 记录 帐号审计 历史记录命令条数
    Infrastructure for container projects.
    更新文档 版本控制 多版本并发控制
    Building Microservices: Using an API Gateway
  • 原文地址:https://www.cnblogs.com/skyfail/p/12888211.html
Copyright © 2011-2022 走看看