public abstract class TakistusKomponent{ double tegelikPinge; double tegelikVool; public void pingesta(double v){ tegelikPinge=v; tegelikVool=v/koguTakistus(); arvutaAlamelementideAndmed(tegelikVool); } public void vooluAlla(double a){ tegelikPinge=a*koguTakistus(); tegelikVool=a; arvutaAlamelementideAndmed(a); } public double kysiTegelikV6imsus(){ return tegelikPinge*tegelikVool; } public double kysiTegelikPinge(){ return tegelikPinge;} public double kysiTegelikVool(){ return tegelikVool;} public abstract void arvutaAlamelementideAndmed(double uusVool); public abstract double koguTakistus(); public abstract double suurimLubatudPinge(); public boolean kasPingePiisavaltMadal(){ return suurimLubatudPinge()>=kysiTegelikPinge(); } double suurimLubatudVool(){ return suurimLubatudPinge()/koguTakistus(); } }