zoukankan      html  css  js  c++  java
  • 第九次上机练习

    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 exercise;
    
    public class Vehicle {
        public String brand;
        public String color;
        public double speed=0;
        void setVehicle(String brand,String color) {
            this.brand=brand;
            this.color=color;
        }
        void access(String brand,String color,double speed) {
            this.brand=brand;
            this.color=color;
            this.speed=speed;
        }
        void run() {
        System.out.println("该汽车的品牌为:"+this.brand+"颜色为:"+this.color+"速度为:"+this.speed);
        
        }
    
    }
    package exercise;
    
    public class Car extends Vehicle {
        int loader;
        void access(String brand,String color,double speed,int loader) {
            this.brand=brand;
            this.color=color;
            this.speed=speed;
            this.loader=loader;
        }
        void run() {
            System.out.println("该汽车的品牌为:"+this.brand+"颜色为:"+this.color+"速度为:"+this.speed+"核载人数为:"+this.loader);
        }
        
    
    }
    package exercise;
    
    public class VehicleTest {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Vehicle c=new Vehicle();
            c.setVehicle("benz","yellow");
            c.run();
            c.access("benz" ,"black", 300);
            c.run();
        }
    
    }
    package exercise;
    
    public class CarTest {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
             Car c=new Car();
             c.access("Honda", "red", 300,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 exercise;
    
    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 getArea();
    
            public abstract void getPer();
    
            public abstract void showAll();
    
    
    }
    package exercise;
    
    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;
        }
    
        public void getArea() {
            area = width * height;
        }
    
        public void getPer() {
            per = (width + height) * 2;
        }
    
        public void showAll() {
            System.out.println("矩形面积为:" + area + ",周长为:" + per + ",颜色:" + color);
        }
    
    }
    package exercise;
    
    public class Circle extends Shape {
         double radius;
    
            public Circle() {
            }
    
            public Circle(double radius, String color) {
                this.color = color;
                this.radius = radius;
            }
    
            public void getArea() {
                area = radius * radius * 3.14;
            }
    
            public void getPer() {
                per = 2 * radius * 3.14;
            }
    
            public void showAll() {
                System.out.println("圆的面积为:" + area + ",周长为:" + per + ",颜色:" + color);
            }
    }
    package exercise;
    
    public class PolyDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
                Shape a = new Circle(9, "red");
                Shape b = new Rectangle(5,2, "粉色");
                a.getArea();
                a.getPer();
                a.showAll();
                b.getArea();
                b.getPer();
                b.showAll();
        }
    
    }
  • 相关阅读:
    SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问
    谷歌浏览器扩展程序manifest.json参数详解
    获取天气api
    UVA 10385 Duathlon
    UVA 10668 Expanding Rods
    UVALIVE 3891 The Teacher's Side of Math
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 11210 Chinese Mahjong
    UVA 11384 Help is needed for Dexter
  • 原文地址:https://www.cnblogs.com/3469656421aixz/p/12887772.html
Copyright © 2011-2022 走看看