Класс Java для услуги за мобильный телефон может выглядеть следующим образом:
public class MobilePhoneService {
private String plan;
private double localOutgoingTime;
private double longDistanceOutgoingTime;
private double smsPayment;
private double internetUse;
private double credit;
private double callPayment;
private double totalPayment;
// Конструктор без параметров
public MobilePhoneService() {
}
// Конструктор общего вида
public MobilePhoneService(String plan, double localOutgoingTime, double longDistanceOutgoingTime, double smsPayment, double internetUse, double credit, double callPayment, double totalPayment) {
this.plan = plan;
this.localOutgoingTime = localOutgoingTime;
this.longDistanceOutgoingTime = longDistanceOutgoingTime;
this.smsPayment = smsPayment;
this.internetUse = internetUse;
this.credit = credit;
this.callPayment = callPayment;
this.totalPayment = totalPayment;
}
// Свойства
public String getPlan() {
return plan;
}
public void setPlan(String plan) {
// Проверка на корректность вводимых данных
if (plan.equals("basic") || plan.equals("premium")) {
this.plan = plan;
} else {
System.out.println("Неверный тарифный план");
}
}
public double getLocalOutgoingTime() {
return localOutgoingTime;
}
public void setLocalOutgoingTime(double localOutgoingTime) {
// Проверка на корректность вводимых данных
if (localOutgoingTime >= 0) {
this.localOutgoingTime = localOutgoingTime;
} else {
System.out.println("Неверное время исходящих местных звонков");
}
}
public double getLongDistanceOutgoingTime() {
return longDistanceOutgoingTime;
}
public void setLongDistanceOutgoingTime(double longDistanceOutgoingTime) {
// Проверка на корректность вводимых данных
if (longDistanceOutgoingTime >= 0) {
this.longDistanceOutgoingTime = longDistanceOutgoingTime;
} else {
System.out.println("Неверное время исходящих иногородних звонков");
}
}
public double getSmsPayment() {
return smsPayment;
}
public void setSmsPayment(double smsPayment) {
// Проверка на корректность вводимых данных
if (smsPayment >= 0) {
this.smsPayment = smsPayment;
Вычисляемые поля оказаны курсивом. Создать 2 конструктора для класса, конструктор без
параметров и конструктор общего вида. Обеспечить доступ к полям через свойства. В
свойствах выполнить проверку на корректность вводимых данных.
Класс услуга за мобильный телефон. Поля тарифный план (два варианта), время исходящих местных, время исходящих иногородних, оплата SMS сообщений, использование интернета, кредит, оплата за разговоры, итоговая оплата.