Cześć wszystkim, bardzo potrzebuje waszej oceny, czy jest ten kod "g**no kod"? Czy prawidłowo skorzystałem z kompozycji, hermetyzacji(Inkapsulacji) i dziedziczenia? Jakie są błedy i co lepiej zmienić?
Jest to nie wielka praktyka, tworzenie unique obiektu, dziedzicząc classę Person i dodając kompozycję Job.
Dziękuję bardzo.
package composition;
public class Composition {
public static void main(String[] args) {
Vladyslav vladyslav = Vladyslav.getInstance();
vladyslav.setName("Vladyslav");
vladyslav.setSecond_name("Parkhomenko");
vladyslav.setGender("Male");
vladyslav.setAge(18);
System.out.println("\n" + vladyslav.getName() + ", " + vladyslav.getSecond_name() + ", " + vladyslav.gender + ", " + vladyslav.getAge() + "years.");
vladyslav.showJobInfo();
System.out.println(vladyslav.getClass());
}
}
package composition;
public class Person {
protected String name;
protected String second_name;
protected String gender;
protected int age;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setSecond_name(String second_name){
this.second_name = second_name;
}
public String getSecond_name(){
return second_name;
}
public void setGender(String gender){
this.gender = gender;
}
public String getGender(){
return gender;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
}
package composition;
public class Job {
protected String titleOfJob;
protected int salaryInApples;
protected int businessID;
}
package composition;
public class Vladyslav extends Person{
private static Vladyslav instance;
private Vladyslav(){}
public static Vladyslav getInstance(){
if(instance == null) {
instance = new Vladyslav();
System.out.println("Unique Vladyslav was created.");
}
else
System.out.println("Vladyslav had created yet.");
return instance;
}
void showJobInfo(){
Job job = new Job();
job.titleOfJob = "Student";
job.salaryInApples = 250;
job.businessID = 96822842;
System.out.println("Status in community is " + job.titleOfJob + ", he earns " + job.salaryInApples + "apples per month and BusinessID is " + job.businessID);
}
}