codice:public class Article { protected String nome,marca,prezzo; public Article(String nome,String marca,String prezzo) { this.nome=nome; this.marca=marca; this.prezzo=prezzo; } public String getNome() {return this.nome;} public String getMarca() {return this.marca;} public String getPrezzo() {return this.prezzo;} } import java.io.*; import java.util.*; public class OpticalDrive extends Accesory { private String speedlettura,speedscrittura; public OpticalDrive(String nome,String marca,String prezzo,String connection,String versioneCon,String speedlettura,String speedscrittura) { super( nome, marca, prezzo, connection, versioneCon); this.speedlettura=speedlettura; this.speedscrittura=speedscrittura; } public String getSpeedlettura() {return this.speedlettura;} public String getSpeedscrittura() {return this.speedscrittura;} public OpticalDrive readOp(BufferedReader br)throws Exception { nome=br.readLine(); if(nome==null)return null; marca=br.readLine(); prezzo=br.readLine(); connection=br.readLine(); versioneCon=br.readLine(); speedlettura=br.readLine(); speedscrittura=br.readLine(); return new OpticalDrive(nome,marca,prezzo,connection,versioneCon,speedlettura,speedscrittura); } } import java.io.*; public class Accesory extends Article{ Accesory a; protected static String connection, versioneCon; public Accesory(String nome,String marca,String prezzo,String connection,String versioneCon) { super(nome,marca,prezzo); this.connection=connection; this.versioneCon=versioneCon; } public String getConnection() {return this.connection;} public String getVersioneCon() {return this.versioneCon;} public Accesory readAcc(BufferedReader br)throws Exception { String nome,marca,prezzo,connection,versioneCon; nome=br.readLine(); if(nome==null)return null; marca=br.readLine(); prezzo=br.readLine(); connection=br.readLine(); versioneCon=br.readLine(); return new Accesory( nome,marca,prezzo,connection,versioneCon); } } import java.io.*; import java.util.*; public class Computer extends Article { protected String tipocpu,dimensioneram,dimensionedisco,scheda; public Computer(String nome,String marca,String prezzo,String tipocpu,String dimensioneram,String dimensionedisco,String scheda) { super(nome,marca,prezzo); this.tipocpu=tipocpu; this.dimensioneram=dimensioneram; this.dimensionedisco=dimensionedisco; this.scheda=scheda; } public String getTipocpu() {return this.tipocpu;} public String getDimensioneram() {return this.dimensioneram;} public String getDimensionedisco() {return this.dimensionedisco;} public String getScheda() {return this.scheda;} public Computer read(BufferedReader br)throws Exception { String nome,marca,tipocpu,dimensioneram,dimensionedisco,scheda; nome=br.readLine(); if(nome==null)return null; marca=br.readLine(); prezzo=br.readLine(); tipocpu=br.readLine(); dimensioneram=br.readLine(); dimensionedisco=br.readLine(); scheda=br.readLine(); return new Computer(nome,marca,prezzo,tipocpu,dimensioneram,dimensionedisco,scheda); } }