Skip to content

Homework_04 (Kotlin#5) implementation.#70

Open
Vp-Ma wants to merge 1 commit intoAndroid-Developer-Basic:masterfrom
Vp-Ma:master
Open

Homework_04 (Kotlin#5) implementation.#70
Vp-Ma wants to merge 1 commit intoAndroid-Developer-Basic:masterfrom
Vp-Ma:master

Conversation

@Vp-Ma
Copy link

@Vp-Ma Vp-Ma commented Jan 6, 2026

No description provided.

}
private fun petrolRefuel( fuelAmount:Int, car:Car ){
println("Будет Заправлен бензин. Количество $fuelAmount")
car.tank.fuelFillUp(fuelAmount)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

По заданию машина заправляется через горловину бака, а не напрямую через бак. Можно добавить в интерфейс Car свойство tankMouth: TankMouth и заправлять через него (например, car.tankMouth.fuelPetrol() для бензина)

for( car in carsQueue ) {
showTankFuelAmount(car)
fuelAmount = getFuelAmount()
if ( car.tank.tankMouthType == TankMouthType.FOR_PETROL_FUEl) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Прямой доступ к car.tank.tankMouthType нарушает инкапсуляцию, так как это поле не является частью интерфейса Tank. Лучше использовать полиморфизм и проверять тип горловины через car.tankMouth
when (car.tankMouth) { is PetrolMouth -> ... is LpgMouth -> ... }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants