Task 3 — Конструкторы и инкапсуляция
Инициализация объектов и контроль состояния через инкапсуляцию.
Редактировать источникЗадание
Инициализация объектов и контроль состояния через инкапсуляцию. Документация собрана по исходному коду этой практики.
Решение
Полный код решения по этой практике:
Исходные файлы решения
Task3/Author.javaTask3/Ball.javaTask3/TestAuthor.javaTask3/TestBall.java
Task3/Author.java
package Task3;
public class Author {
private String name;
private String email;
private char gender;
public Author(String n, String e, char g){
name = n;
email = e;
gender = g;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setEmail(String email){
this.email = email;
}
public String getEmail(){
return email;
}
public void getGender(char gender){
this.gender = gender;
}
public char setGender(){
return gender;
}
public String toString(){
return this.name+" ("+gender+") at "+email;
}
}
Task3/Ball.java
package Task3;
public class Ball {
private double x = 0.0;
private double y = 0.0;
public Ball(){}
public Ball(double x, double y){
this.x = x;
this.y = y;
}
public double getX(){
return x;
}
public double getY(){
return y;
}
public void setX(double x){
this.x = x;
}
public void setY(double y){
this.y = y;
}
public void setXY(double x, double y){
this.x = x;
this.y = y;
}
public void move(double xDisp, double yDisp){
x += xDisp;
y += yDisp;
}
public String toString(){
return "Ball ("+this.x+", "+this.y+").";
}
}
Task3/TestAuthor.java
package Task3;
public class TestAuthor {
public static void main(String[] args){
Author a1 = new Author("Petr Grob", "peGrob@somewhere.com", 'M');
System.out.println(a1);
}
}
Task3/TestBall.java
package Task3;
public class TestBall {
public static void main(String[] args){
Ball b1 = new Ball(100, 100);
System.out.println(b1);
b1.move(30, 15);
System.out.println(b1);
}
}
Описание
В этом модуле используется 4 Java-файлов. Ключевые сущности: Author, Ball, TestAuthor, TestBall.
tip
Для проверки практики сначала запускайте тестовый/демо-класс из папки задачи, затем расширяйте модель новыми кейсами.
Вывод
Task 3 — Конструкторы и инкапсуляция документирует реальное решение из исходного кода.