面向对象案例


/*

引擎类
	成员变量:
		型号
		排量
*/
public class Engine {
	private String name;
	private float displacement;
	private boolean state = false;

	public Engine() {}

	public Engine(String name, float displacement) {
		this.name = name;
		this.displacement = displacement;
	}

	public boolean isState() {

		return state;
	}

	public void setState(boolean state) {
		System.out.println("发动机已点火......");
		this.state = state;
	}

	public void EnginStart() {
		System.out.println("发动机已启动....");

	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public float getDisplacement() {
		return displacement;
	}

	public void setDisplacement(float displacement) {
		this.displacement = displacement;
	}

}


/*
 * 	轮胎类
	成员变量:
		型号
		尺寸
 * 
 * 
 * 
 */
public class Tyre {
	private String name;
	private String size;
	private int wheelCount;

	public Tyre() {}

	public Tyre(String name, String size, int wheelCount) {
		this.name = name;
		this.size = size;
		this.wheelCount = wheelCount;
	}

	public boolean fix(Tyre tyre) {
		if (tyre.wheelCount < 4) {
			System.out.println("轮子少一个,已经修好");
			return true;
		}
		return true;
	}

	public int getWheelCount() {
		return wheelCount;
	}

	public void setWheelCount(int wheelCount) {
		this.wheelCount = wheelCount;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSize() {
		return size;
	}

	public void setSize(String size) {
		this.size = size;
	}

}


public class Car {
	private Engine engine;
	private Tyre tyre;

	public Car() {}

	public Car(Engine engine, Tyre tyre) {
		this.engine = engine;
		this.tyre = tyre;
	}

	public boolean checkTyre() {
		if (tyre.getWheelCount() < 4) {
			System.out.println("轮子坏了,已经安排修理");
			return tyre.fix(tyre);
		}
		return true;
	}

	public void work() {
		if (engine.isState()) {
			System.out.println("汽车已启动");
		} else {
			System.out.println("发动机熄火中,请点火......");
		}
	}

	public Engine getEngine() {
		return engine;
	}

	public void setEngine(Engine engine) {
		this.engine = engine;
	}

	public Tyre getTyre() {
		return tyre;
	}

	public void setTyre(Tyre tyre) {
		this.tyre = tyre;
	}

}


public class Demo {
	public static void main(String[] args) {

		Engine engine = new Engine("V8", 4.0F);

		Car car = new Car(engine, new Tyre("米其林", "26", 2));//根据轮子的初始值不同有不同的方法

		boolean flag = car.checkTyre();

		if (flag) {
			car.work();
		}

		engine.setState(true);

		car.work();

		car.getTyre().setName("佳通");

	}

}

原文地址:https://www.cnblogs.com/raising/p/12808480.html