Використання Складних Класів
Свайпніть щоб показати меню
Використання об'єктів класу в іншому класі
Тепер розглянемо більш складне використання класів, а саме використання об'єктів класу всередині іншого класу.
Команда та гравці
Уявімо ситуацію, коли у нас є клас Team. Кожна команда повинна мати гравців. Ми могли б заповнити поле players простими значеннями типу String, які представляють їхні імена, але це не було б найкращою практикою. Набагато краще створити клас Player з власними полями та методами, а потім створити масив об'єктів Player у класі Team.
Розглянемо приклад:
Team.java
1234567891011121314151617181920212223242526class Team { String title; String country; Player[] players; void play() { System.out.println("Team " + title + "is playing!"); } } class Player { String name; int age; int yearsOfExperience; public Player(String name, int age, int yearsOfExperience) { this.name = name; this.age = age; this.yearsOfExperience = yearsOfExperience; } void introduce() { System.out.println("Hi, my name is " + name + ", I am " + age + " years old and have " + yearsOfExperience + " years of experience"); } }
Як бачимо, ми використовуємо масив об'єктів Player у полі players класу Team. З цього можна зробити кілька висновків:
- Можна створювати масиви об'єктів із власного створеного класу;
- Можна використовувати об'єкти одного класу всередині іншого класу для покращення загальної логіки.
Але виникає питання: Як заповнити цей масив?
Відповідь: Для цього потрібно створити кілька об'єктів Player і додати їх до масиву гравців. Створимо Dream Team у головному методі та розглянемо приклад:
Main.java
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { Player bob = new Player("Bob", 32, 5); Player alice = new Player("Alice", 28, 8); Player john = new Player("John", 41, 20); Player[] players = {bob, alice, john}; Team dreamTeam = new Team("Dream Team", "USA", players); System.out.println(dreamTeam); } } class Team { String title; String country; Player[] players; public Team(String title, String country, Player[] players) { this.title = title; this.country = country; this.players = players; } void play() { System.out.println("Team " + title + "is playing!"); } @Override public String toString() { return "Team{" + "title='" + title + '\'' + ", country='" + country + '\'' + ", players=" + Arrays.toString(players) + '}'; } } class Player { String name; int age; int yearsOfExperience; public Player(String name, int age, int yearsOfExperience) { this.name = name; this.age = age; this.yearsOfExperience = yearsOfExperience; } void introduce() { System.out.println("Hi, my name is " + name + ", I am " + age + " years old and have " + yearsOfExperience + " years of experience"); } @Override public String toString() { return "Player{" + "name='" + name + '\'' + ", age=" + age + ", yearsOfExperience=" + yearsOfExperience + '}'; } }
Ми створили 3 об'єкти класу Player та ініціалізували їх поля через конструктор. Далі створюємо масив типу Player і додаємо до нього Bob, Alice та John.
Далі створюємо об'єкт Team і ініціалізуємо його поля через конструктор. Поле players[] ініціалізуємо раніше створеним масивом.
Виводимо об'єкт у консоль і бачимо, що об'єкт Team містить у виведенні об'єкти Player.
Власник і улюбленець
Розглянемо ще один простіший приклад. Припустимо, у нас є Owner і Pet. Для кожного створимо окремий клас.
Клас Pet матиме лише одне поле — String name.
Клас Owner матиме два поля — String name та Pet pet.
Pet.java
123456789101112131415161718class Pet { String name; public Pet(String name) { this.name = name; } } class Owner { String name; Pet pet; public Owner(String name, Pet pet) { this.name = name; this.pet = pet; } }
Як видно, ці два класи також пов'язані, оскільки клас Owner має поле типу Pet (який є класом, створеним нами!).
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат