Введение в классы в Java.
💌Запечатанные классы (Sealed Classes) В релизе Java 17 компания Oracle представила новую функцию под названием Sealed Classes (запечатанные классы). По идее, она предназначена для повышения безопасности и гибкости приложений Java. Запечатанные классы позволяют разработчикам ограничивать иерархию наследования класса или интерфейса. Иными словами, они обеспечивают больший контроль над тем, как класс может быть расширен или реализован. Пример класса Shape, который может быть расширен классами Circle, Square или Triangle. ▪Синтаксис для определения запечатанного класса: public sealed class Shape permits Circle, Square, Triangle { // Определение класса } 🔍Что такое сопоставление с образцом и как оно улучшает читаемость кода Java В контексте языков программирования сопоставление с образцом — это метод, используемый для сопоставления определенного образца с заданным входом. Его можно использовать для упрощения процесса идентификации и извлечения соответствующей информации из структурированных данных, таких как объекты, списки и другие сложные типы данных. В функциональных языках сопоставление с образцом можно использовать в качестве альтернативы традиционным операторам потока управления, таким как if-else или switch-case. ▪Сопоставление с образцом на примере кода: public interface Shape { Double area(); } public final static class Circle implements Shape { public final double radius; Circle(double radius) { this.radius = radius; } @Override public Double area() { return Math.PI * radius * radius; } } public final static class Square implements Shape { public final double side; Square(double side) { this.side = side; } @Override public Double area() { return side * side; } } 📌 Подробнее @javarush
Sealed классы в Java - позволяет ограничить наследование классов до определенного списка классов. Таким образом, можно контролировать, какие классы могут наследовать другие классы. Пример: sealed class Animal permits Dog, Cat { } final class Dog extends Animal { } final class Cat extends Animal { } В этом примере класс Animal является sealed, что означает, что он может быть наследован только классами Dog и Cat. Классы Dog и Cat, в свою очередь, являются final, что означает, что они не могут быть наследованы другими классами. Таким образом, использование sealed классов позволяет более точно контролировать и ограничивать наследование классов в Java.