Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.example.Software; // Импорт класса Software из пакета com.example
- import com.example.OperatingSystem; // Импорт класса OperatingSystem из пакета com.example
- import com.example.FreeOperatingSystem; // Импорт класса FreeOperatingSystem из пакета com.example
- import com.example.PaidOperatingSystem; // Импорт класса PaidOperatingSystem из пакета com.example
- import com.example.Application; // Импорт класса Application из пакета com.example
- import com.example.MobileOperatingSystem; // Импорт класса MobileOperatingSystem из пакета com.example
- import com.example.ServerOperatingSystem; // Импорт класса ServerOperatingSystem из пакета com.example
- import com.example.UtilitySoftware; // Импорт класса UtilitySoftware из пакета com.example
- import java.util.ArrayList; // Импорт класса ArrayList из пакета java.util для работы со списками
- import java.util.List; // Импорт интерфейса List из пакета java.util для работы со списками
- public class Main { // Определение класса Main с публичным доступом
- public static void main(String[] args) { // Определение главного метода main, точка входа в программу
- // Создание экземпляров классов
- FreeOperatingSystem freeOS = new FreeOperatingSystem("Ubuntu", "20.04", "Linux"); // Создание объекта freeOS класса FreeOperatingSystem
- PaidOperatingSystem paidOS = new PaidOperatingSystem("Windows", "10", "NT", 199.99); // Создание объекта paidOS класса PaidOperatingSystem
- Application application = new Application("LibreOffice", "7.1.4", "The Document Foundation"); // Создание объекта application класса Application
- MobileOperatingSystem mobileOS = new MobileOperatingSystem("Android", "11", "Linux", "Google Play"); // Создание объекта mobileOS класса MobileOperatingSystem
- ServerOperatingSystem serverOS = new ServerOperatingSystem("Ubuntu Server", "20.04", "Linux", false); // Создание объекта serverOS класса ServerOperatingSystem
- UtilitySoftware utilitySoftware = new UtilitySoftware("CCleaner", "5.78", "Piriform", "Optimization"); // Создание объекта utilitySoftware класса UtilitySoftware
- // Создание списка объектов типа Software
- List<Software> softwareList = new ArrayList<>(); // Создание списка softwareList для хранения объектов типа Software
- softwareList.add(freeOS); // Добавление объекта freeOS в список softwareList
- softwareList.add(paidOS); // Добавление объекта paidOS в список softwareList
- softwareList.add(application); // Добавление объекта application в список softwareList
- softwareList.add(mobileOS); // Добавление объекта mobileOS в список softwareList
- softwareList.add(serverOS); // Добавление объекта serverOS в список softwareList
- softwareList.add(utilitySoftware); // Добавление объекта utilitySoftware в список softwareList
- // Демонстрация полиморфного поведения
- for (Software software : softwareList) { // Цикл for-each для перебора элементов списка softwareList
- System.out.println("Name: " + software.getName()); // Вывод на экран имени объекта
- System.out.println("Version: " + software.getVersion()); // Вывод на экран версии объекта
- System.out.println("-------------------------------"); // Вывод разделительной линии
- // Пример проверки типа объекта и вызова специфичных методов
- if (software instanceof PaidOperatingSystem) { // Проверка, является ли объект экземпляром класса PaidOperatingSystem
- PaidOperatingSystem paidSoftware = (PaidOperatingSystem) software; // Приведение типа объекта к PaidOperatingSystem
- System.out.println("Price: $" + paidSoftware.getPrice()); // Вывод на экран цены объекта
- } else if (software instanceof MobileOperatingSystem) { // Проверка, является ли объект экземпляром класса MobileOperatingSystem
- MobileOperatingSystem mobileSoftware = (MobileOperatingSystem) software; // Приведение типа объекта к MobileOperatingSystem
- System.out.println("App Store: " + mobileSoftware.getAppStore()); // Вывод на экран названия магазина приложений
- } else if (software instanceof ServerOperatingSystem) {
- ServerOperatingSystem serverSoftware = (ServerOperatingSystem) software; // Приведение типа объекта к ServerOperatingSystem
- System.out.println("GUI Supported: " + serverSoftware.isGuiSupported()); // Вывод на экран информации о поддержке графического интерфейса
- } else if (software instanceof UtilitySoftware) { // Проверка, является ли объект экземпляром класса UtilitySoftware
- UtilitySoftware utility = (UtilitySoftware) software; // Приведение типа объекта к UtilitySoftware
- System.out.println("Utility Type: " + utility.getUtilityType()); // Вывод на экран типа утилитного программного обеспечения
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement