Описать суть понятия «наследование». Каким образом наследование реализуется в объектно-ориентированном программировании? Привести пример применения «интерфейса» в Java
Описать суть понятия «наследование». Каким образом наследование реализуется в объектно-ориентированном программировании? Привести пример применения «интерфейса» в Java.
Наследование
Можно создавать классы и объекты, которые похожи друг на друга, но немного отличаются — имеют дополнительные атрибуты и методы. Более общее понятие в таком случае становится «родителем», а более специфичное и подробное — «наследником».
Упомянутый программист Иван — это человек. Но «человек» — более общее определение, которое не описывает свойства, важные именно для программиста. Можно сказать, что класс «программист» унаследован от класса «человек»: программист тоже является человеком, но у него есть дополнительные свойства.
В таком случае разработчик Иван будет и человеком, и программистом одновременно. У него будут наборы свойств от обоих классов.
У одного «родителя» может быть несколько дочерних структур. Например, от «человека» можно наследовать не только «программиста», но и «директора».
Наследование позволяет реализовывать сложные схемы с четкой иерархией «от общего к частному». Это облегчает понимание и масштабирование кода. Не нужно много раз переписывать в разных объектах одни и те же свойства. Достаточно унаследовать эти объекты от одного «родителя», и «родительские» свойства применятся автоматически.
Реализация ООП classTransformer(){ // базовый класс
function run(){
// код, отвечающий за бег
}
function fire(){
// код, отвечающий за стрельбу
}
}
classAutobot(Transformer){ // дочерний класс, наследование от Transformer
function transform(){
// код, отвечающий за трансформацию в автомобиль
}
}
classDecepticon(Transformer){ // дочерний класс, наследование от Transformer
function transform(){
// код, отвечающий за трансформацию в самолет
}
}
optimus = new Autobot()
megatron = new Decepticon()