15. ООП (Java)
Интерфейс –
чистое описание контракта класса
В Java НЕТ множественного
наследования, есть реализация
нескольких интерфейсов
16. ООП (Java)
Пакет –
совокупность классов, либо
совместно решающих общую
задачу, либо дающих разные
реализации одного контракта
17. ООП (Java)
Принцип Единственной
обязанности (Single Responsibility)
– у контракта должно быть ровно
одно четкое предназначение
Признак нарушения –
невозможность подобрать
простое наименование
19. ООП (Java)
public class FullName implements IFullName {
public String getLastName() {
return lastName;
}
private String firstName;
private String lastName;
public void setFirstName(
final String firstName
){
this.firstName = firstName;
}
public FullName(
final String firstName, final String lastName
){
this.firstName = firstName;
this.lastName = lastName;
}
public void setLastName(
final String lastName
){
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
}
20. ООП (Java)
public class Employee implements IEmployee {
public IFullName getFullName() …
public String getAddress() …
public String getWorkPhone() …
public String getHomePhone() …
public void setFullName(final FullName name) …
public void setAddress(final String address) …
public void setWorkPhone(
final String workPhone
)…
public void setHomePhone(
final String homePhone
)…
private String address;
private String workPhone;
private String homePhone;
public Employee() {
}
public Employee (
final FullName name,
final String address,
final String workPhone,
final String homePhone,
){
…
}
}
31. Соглашения
Классы в Java: CamelCase, с
большой буквы
Методы и переменные в Java:
camelCase, с маленькой буквы
Пакеты в Java: одно слово с
маленькой буквы, первые 2
уровня – развернутый домен
37. Документирование
Пример для метода:
/**
* Counts employees in a given container
* @param employeeContainer a container of employees
* @return a count of employees in a given container
*/
int countEmployees(
final EmployeeContainer employeeContainer
){