Class Book
{
private int year;
private String session;
private int volume;
private int number;
private String khand;
private Date proceeding_date;
private int pageNo;
Book(year,session,volume)
{
$this.year=year;
$this.session=session;
$this.volume=volume;
}
public getBookName()
{
return (year+session+volume) //concatenation of three
}
}
Book b1=new Book(1952,abc,123);
Supponiamo che i miei requisiti cambino e che ora la creazione del libro includa anche proceeding_date
nei parametri del costruttore,
dopo che il codice è stato compilato, posso apportare modifiche alla classe o c'è un difetto di progettazione?
La classe dovrebbe essere progettata in modo tale che accetti qualsiasi cambiamento in futuro, come ho adattato il principio OOAD alla mia progettazione, la mia classe ha seguito SRP, principio aperto / chiuso.
Supponiamo che sia necessario aggiungere più variabili private in classe per rompere il principio aperto / chiuso? Vengono aggiunti nuovi membri [variabili / metodi] in una classe si interrompe l'OCP?