Get Set: достигайте новых высот
Get и set являются основными методами доступа к свойствам объектов в объектно-ориентированном программировании. Концепция get и set заключается в том, что они позволяют получить (get) значение свойства или установить (set) новое значение свойства через методы доступа (accessor methods) вместо того, чтобы обращаться к свойству напрямую.
Get и set используются для обеспечения инкапсуляции данных и контроля над операциями чтения и записи. Это позволяет скрыть внутреннюю реализацию свойства и контролировать доступ к нему извне объекта. При использовании get и set можно применять различные проверки и манипуляции значением свойства перед его получением или установкой.
Пример кода на языке Java, демонстрирующий использование get и set:
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
if (name != null && !name.isEmpty()) {
this.name = name;
} else {
throw new IllegalArgumentException("Name cannot be empty");
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age >= 0 && age <= 150) {
this.age = age;
} else {
throw new IllegalArgumentException("Age must be between 0 and 150");
}
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person();
person.setName("John");
person.setAge(25);
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
}
}
В данном примере класс Person имеет приватные свойства name и age. Методы setName и setAge выполняют проверку на допустимые значения и выбрасывают исключение, если значение не соответствует ожиданиям. Методы getName и getAge возвращают значения свойств без дополнительной обработки.
В методе main мы создаем объект класса Person, устанавливаем значения для свойств через методы set, а затем получаем эти значения с помощью методов get и выводим их на экран.
Использование get и set позволяет контролировать доступ к свойствам объекта и защитить их от некорректного использования. Это повышает безопасность и гибкость программы, а также упрощает ее сопровождение и модификацию.