在这个特殊的问题中,应用继承的Java方法是什么



我有两个类A和B,还有一个生成电子邮件的脚本。

在python中,代码看起来像

def generateEmail(message):
#implementation
def getMessage(item_list):
message = []
for item in item_list:
#do some processing 
return message
def main():
#other code
generateEmail(getMessage(item_list_A))
generateEmail(getMessage(item_list_B))

这对Java不起作用,因为它是强类型的。我如何在java中实现这一点?

编辑:以下是A(学生(和B(教师(课程:

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Student{
int studentId;
String studentName;
LocalDate dateOfAddmission;
float percentage;
int currentStd;
String father;
String mother;
LocalDate dob;
String address;
Boolean disability;
}

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Teacher{
int teacherId;
String teacherName;
LocalDate dateOfJoining;
LocalDate dateOfRetirement;
Boolean classTeacher;
int currentStd = null;
LocalDate dob;
String address;
Boolean disability;
}

以下是A.的处理和生成电子邮件类

public class generateEmail{
public Boolean generateEmail(ArrayList<Student> listOfStudent){
//code to fetch the list of relevant students ids
ArrayList<int> relevantStudents = getRelevantStudents();
ArrayList<String> messageList = new ArrayList<>();
listOfStudent.forEach(student->{
if(relevantStudents.contains(student.getStudentId()){
//create a message string from the student information and add to the message list
}
}
//create an excel sheet with the message strings 
//send email 
}
}

我需要为教师创建一个类似的报告生成方法,但属性不同,所以我需要帮助。

public interface Dummy{
}
public class A implements Dummy{
int studentId;
String studentName;
LocalDate dateOfAddmission;
float percentage;
int currentStd;
String father;
String mother;
LocalDate dob;
String address;
Boolean disability;
}
public class B implements Dummy{
int teacherId;
String teacherName;
LocalDate dateOfJoining;
LocalDate dateOfRetirement;
Boolean classTeacher;
int currentStd = null;
LocalDate dob;
String address;
Boolean disability;
}
public class MainClass{
public static void main(String...array){
//other code
generateEmail(getMessage(itemListA));
generateEmail(getMessage(itemListB));
}

private List<String> getMessage(List<Dummy> itemList){
List<String> message = new ArrayList<>();
for(Dummy item : itemList){
//if required typecast the dummy object and do the processing                           
//accordingly
//do some processing 
}
return message
}

private void generateEmail(List<String> messages){
//Do your processing
}

}

最新更新