Jestem nowy w programowaniu obiektowym i nie rozumiem, jaki jest cel głównego.
Tak, czytam, że jest to „punkt wejścia” programu, ale nie rozumiem, co powinno być w głównym? A jakie są jego obowiązki?
Może się zdarzyć, że coś napisanego w main może być enkapsulowane w innym obiekcie, ale ile powinieneś użyć tego podejścia?
Oto moja pierwsza główna wersja, którą napisałem w Javie, jest bardzo prosta, ale może sprawić, że lepiej zrozumiesz moje wątpliwości. Mam abstrakcyjną klasę Animal, którą rozszerzają „Cat” i „Dog”. Użyłem main do stworzenia jakiegoś obiektu, a także jako „interfejsu” z użytkownikiem, w rzeczywistości, jak widać, użyłem instrukcji warunkowej, aby „zapytać użytkownika”, co chce zrobić.
Moje pytanie wynikało z faktu, że interfejs można zamknąć w innym obiekcie i nie przypisywać tej odpowiedzialności głównej.
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("What type of animal do you want to create? \n dog cat");
String type = input.nextLine();
if ( Objects.equals(type, "dog")){
System.out.println("Enter the animal's age: ");
int age = input.nextInt(); // Scans the next token of the input as an int.
System.out.println("Enter the animal's name: ");
String name = input.next();
Dog first = new Dog(name, age);
}
else if ( Objects.equals(type, "cat")) {
System.out.println("Enter the animal's age: ");
int age = input.nextInt(); // Scans the next token of the input as an int.
System.out.println("Enter the animal's name: ");
String name = input.next();
Cat first = new Cat(name, age);
}
else{
System.out.println("Error: the specified type does not exist.");
}
System.out.println("The number of animals is:" + numberOfAnimals);
}
main
funkcja nie jest koncepcją z OOP.