gpt4 book ai didi

java - 有关系和正确的实践

转载 作者:行者123 更新时间:2023-12-01 15:41:25 24 4
gpt4 key购买 nike

最近我正在做一个编码练习,我需要制作我的项目,到目前为止我正在用下面的代码进行练习,我想问的是,这有关系吗?我的练习正确吗?看看我的代码,抱歉我的英语不好

public class Personal {

private String firstName;
private String middleInitial;
private String lastName;
private int age;

public Personal(String firstName,String middleInitial , String lastName , int age){
setFirstName(firstName);
setMiddleInitial(middleInitial);
setLastName(lastName);
setAge(age);
}

public void setFirstName(String firstName){
this.firstName = firstName;
}

public String getFirstName(){
return firstName;
}

public void setMiddleInitial(String middleInitial){
this.middleInitial = middleInitial;
}

public String getMiddleInitial(){
return middleInitial;
}

public void setLastName(String lastName){
this.lastName = lastName;
}

public String getLastName(){
return lastName;
}

public void setAge(int age){
this.age = age;
}

public int getAge(){
return age;
}

public String toString(){
return String.format("First Name: "+getFirstName()+"\nMiddle Initial: "+getMiddleInitial()+
"\nLast Name: "+getLastName()+"\nAge: "+getAge());
}
}

联系类(class)

public class Contact {
private String address;
private String email;
private String contactNumber;

public Contact(String address,String contactNumber, String email){
setAddress(address);
setContactNumber(contactNumber);
setEmail(email);
}

public void setAddress(String address){
this.address = address;
}

public String getAddress(){
return address;
}

public void setEmail(String email){
this.email = email;
}

public String getEmail(){
return email;
}

public void setContactNumber(String contactNumber){
this.contactNumber = contactNumber;
}

public String getContactNumber(){
return contactNumber;
}

public String toString(){
return String.format("Address: "+getAddress()+"\nContact Number: "+getContactNumber()+
"\nEmail Address: "+getEmail());
}
}

员工类别

public class Employee {
private Personal personal;
private Contact contact;

public Employee(Personal personal, Contact contact){
this.personal = personal;
this.contact = contact;
}

public void setFirstName(String firstName){
this.personal.setFirstName(firstName);
}

public String toString(){
return String.format(personal.toString()+contact.toString());
}
}

和测试类

public class TestClass {

public static void main(String[] args){
Personal personalHerp = new Personal("John","M","Doe",18);
Contact contactHerp = new Contact("88 Herp Derp St U mad New york","724-15-70","fido.com");
Employee employeeHerp = new Employee(personalHerp,contactHerp);
System.out.println(employeeHerp);
}
}

最佳答案

好吧,由于Employee没有扩展Personal,它一个Personal和一个Contact

我猜您更希望Employee成为一个Personal,因此它应该如下所示:

public class Employee extends Personal {
private Contact contact;
...
}

总结一下:

  • is-a 表示类/对象扩展另一个类或实现接口(interface),即如果 A 扩展 BA 实现 B,则 A is-a B
  • has-a 表示类/对象具有该类型的变量,例如 Employee 类中的 Contact contact,这意味着员工有联系人。

关于java - 有关系和正确的实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7993648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com