Sem II (Program I) - N3 Flashcards
Какую роль играет список параметров при перегрузке методов?
Список параметров важен для перегрузки методов, так как позволяет компилятору определить и вызвать правильный метод. Различное количество или типы данных параметров служат отличительным признаком.
Почему тип возвращаемого значения не входит в сигнатуру метода в Java?
Тип возвращаемого значения не является частью сигнатуры, потому что компилятор определяет, какой метод вызывать, по имени метода и списку параметров.
.
Что означает “полиморфность” метода и почему это полезно в объектно-ориентированном программировании?
Метод является полиморфным, если он имеет одинаковое имя в разных классах и выполняет схожую функцию, но имеет разные реализации. Это позволяет обрабатывать разные объекты схожим образом, что способствует согласованности и повторному использованию кода.
В чём разница между агрегацией и наследованием в объектно-ориентированном программировании?
Агрегация описывает отношение “имеет”, где объект имеет ссылку на другой объект (например, круг имеет точку). Наследование же - это отношение “является”, где класс наследует от другого класса и перенимает его свойства и методы.
Каковы типичные случаи применения параметров командной строки в методе main()?
Параметры командной строки используются для передачи значений Java-программе, которые могут управлять поведением программы
Что нужно учитывать при использовании varargs в методах?
При использовании varargs параметр переменной длины должен стоять в конце списка параметров, и все значения должны быть одного типа данных.
Каковы преимущества использования агрегации в программировании?
Агрегация позволяет создавать сложные объекты путём комбинирования более простых объектов без необходимости наследования. Это облегчает повторное использование кода и композицию объектов, что приводит к лучшей структуризации программы.
Как достигается полиморфизм при использовании наследования в Java?
Полиморфизм достигается путём переопределения (Override) методов в производных классах. Метод производного класса вызывается даже если вызов метода происходит через ссылку базового класса. Это позволяет иметь различные реализации одного и того же метода для разных типов объектов.
В чем разница между агрегацией и композицией в объектно-ориентированном программировании?
При агрегации время жизни объектов независимо, т.е. когда один объект перестает существовать, другой может продолжать существовать. При композиции время жизни объектов связано, т.е. когда “большой” объект уничтожается, “малый” объект тоже уничтожается.
Как реализуется наследование в Java и какова цель оператора super?
В Java наследование реализуется с помощью ключевого слова extends. Производный класс наследует свойства и методы базового класса. Оператор super используется для доступа к конструкторам и методам базового класса.
Какие преимущества дает использование наследования в программировании?
Наследование способствует повторному использованию кода, позволяет иерархически организовать классы и уменьшает избыточность, определяя общие функции в базовом классе.
Что происходит в иерархии классов, когда метод в производном классе переопределяет метод базового класса?
Когда метод в производном классе переопределяет метод базового класса, выполняется метод производного класса при его вызове. Тем не менее, доступ к методу базового класса возможен через super.имяМетода().
Как агрегация влияет на время жизни объекта?
При агрегации время жизни объектов независимо.
Почему композиция возможна в C++, но ограничена в Java?
В Java ограничение касается классов верхнего уровня. Внутри класса можно использовать композицию, однако Java не допускает множественного наследования на уровне классов, что возможно в C++.
В чем разница между производным классом и базовым классом?
Базовый класс содержит основные свойства и методы, которые могут наследоваться производными классами. Производный класс расширяет базовый класс и может добавлять дополнительные атрибуты или методы.
Что понимается под инкапсуляцией в объектно-ориентированном программировании?
Инкапсуляция означает, что данные класса являются приватными и доступны только через публичные методы (геттеры и сеттеры).
Какие существуют ограничения при наследовании конструкторов в Java?
Конструкторы в Java не наследуются. Каждый производный класс должен определять свои собственные конструкторы
Welche Begriffe werden für Basisklasse und abgeleitete Klasse verwendet?
Basisklasse wird auch als Superklasse oder Elternklasse bezeichnet, während die abgeleitete Klasse auch Subklasse, Unterklasse oder Kindklasse genannt wird.
Was wird von der Basisklasse an die abgeleitete Klasse vererbt?
(Fast) alle Instanzvariablen, Instanzmethoden, Klassenvariablen und Klassenmethoden. Eine Ausnahme sind Konstruktoren, die nicht vererbt werden.
В чём разница между агрегацией и композицией?
Агрегация - это отношение, при котором класс содержит объекты другого класса, но не владеет ими.
При композиции класс полностью владеет объектами, и их существование связано с существованием владеющего класса.