0
点赞
收藏
分享

微信扫一扫

Java基础学习——代码复用

云朵里的佛光 2022-03-13 阅读 97
java

1.什么是复用

复用指的是代码的复用,即将编写的类通过组合或继承的方式重新利用

2.复用的方式

  • 组合

  • 继承

3.组合 

1.什么是组合?

在新类中引入现有的类,组合是代码复用使用频率最高的方式

 2.简单代码展示

  • 现有类:Engine

/**
 * @author panyq
 * @since: 2022/3/13 16:43
 * #Description Engine
 */
public class Engine {
    //region 构造器
​
    public Engine() {
        System.out.println("氢氧燃料电池");
    }
​
    //endregion
}
  • 现有类:Wheel

/**
 * @author panyq
 * @since: 2022/3/13 16:33
 * #Description Wheel
 */
public class Wheel {
    //reign 变量
​
    /**
     * 开始使用时间
     */
    private static Long startTime = System.currentTimeMillis();
​
    //endregion
​
    //region 方法
​
    /**
     * 计算车轮使用的时间
     */
    public void runningTime(){
        System.out.println(System.currentTimeMillis() - startTime);
    }
​
    //endregion
}

现有类:Window

/**
 * @author panyq
 * @since: 2022/3/13 16:42
 * #Description Window
 */
public class Window {
    //region 构造器
​
    public Window(int windowFlag) {
        this.windowFlag = windowFlag;
    }
​
    //endregion
​
    //region 变量
​
    /**
     * 窗户标识
     */
    private int windowFlag;
​
    //endregion
​
    //region 方法
​
    /**
     * 输出窗户编号
     */
    public void windowFlag(){
        System.out.println("这是第" + windowFlag + "块窗户");
    }
​
    //endregion
}

新类:将原有的类:Engine,Wheel,Window在新类中引入

/**
 * @author panyq
 * @since: 2022/3/13 16:48
 * #Description Car
 */
public class Car {
    //region 构造器
​
    public Car() {
        wheel = new Wheel();
        engine = new Engine();
        for (int i = 0; i < 4; i++) {
            windows[i] = new Window(i+1);
        }
        System.out.println("这是第" + count++ + "辆车" );
    }
​
    //endregion
​
    //region 成员变量
​
    /**
     * 车辆数量统计
     */
    private static int count = 1;
    /**
     * 轮子
     */
    private Wheel wheel;
    /**
     * 引擎
     */
    private Engine engine;
    /**
     * 窗户
     */
    private Window[] windows = new Window[4];
​
​
    //endregion
​
    //region 方法
​
    /**
     * 查看窗户标识
     */
    public void installWindows(){
        for (int i = 0; i < 4; i++) {
            windows[i].windowFlag();
        }
​
    }
​
    /**
     * 查看轮子的使用时间
     */
    public void wheelRunningTime(){
        wheel.runningTime();
    }
​
    //endregion
​
    public static void main(String[] args) {
        Car car = new Car();
        car.installWindows();
        car.wheelRunningTime();
    }
}
最终输出结果:
氢氧燃料电池
这是第1辆车
这是第1块窗户
这是第2块窗户
这是第3块窗户
这是第4块窗户
1

特点:根据程序的需要通过引入不同的对象组装成新的对象来满足需求

4.继承

1.什么是继承?

从已有类拓展成新类,一般在java中通过extends关键字(继承类)或implement关键字(继承接口)声明

 2.简单代码展示

现有类:BaseCar

/**
 * @author panyq
 * @since: 2022/3/13 18:19
 * #Description BaseCar
 */
public class BaseCar {
    //region 构造器
​
    public BaseCar() {
        System.out.println("这是车的基类");
    }
​
    //endregion
}

新类:AudiCar通过extends关键字继承了BaseCar

/**
 * @author panyq
 * @since: 2022/3/13 18:18
 * #Description AudiCar
 */
public class AudiCar extends BaseCar {
    //region 构造器
​
    public AudiCar() {
        System.out.println("这是奥迪车");
    }
​
    //endregion
    public static void main(String[] args) {
        AudiCar audiCar = new AudiCar();
    }
}

输出结果:

这是车的基类

这是奥迪车

特点:具备现有类的所有信息(private域除外),并且可以根据需要进行拓展

举报

相关推荐

0 条评论