class Kwadrat : Prostokat {
}
Prostokat p=new Kwadrat();
Kwadrat k = (Kwadrat)p;
public class FIFO implements kolejkaFIFO {
private Lista l=new Lista();
public boolean pusta() {return l.pusta();
}
public void doKolejki(int i) {l.dodajNaKoniec(i); }
public void zKolejki() {
l.usunZPoczatku(); }
public int pierwszy() {
return l.poczatek();}
public class FIFO2 extends Lista implements kolejkaFIFO{
public boolean pusta() {return super.pusta(); }
public void doKolejki(int i) { dodajNaKoniec(i); }
public void zKolejki() {
usunZPoczatku();
}
public int pierwszy() {
return poczatek();}
class Plik implements IPlik{
public Plik(String nazwa) throws FileNotFoundException;
public void zapisz(int) throws WriteException;
public int odczytaj();
public void close() throws IOException;
}
class PlikSzyfrowany implements IPlik{
private Plik p;
private in klucz;
public PlikSzyfrowany(String nazwa, int k) throws
FileNotFoundException{
p=new Plik(nazwa); klucz=k;
}
public void close() throws IOException {p.close();}
public void zapisz(int i) throws WriteException
{p.zapisz(i+klucz);}
public int odczytaj() {return p.odczytaj()-klucz; }
}
class PlikSzyfrowany extends Plik{
private in klucz;
public PlikSzyfrowany(String nazwa, int k) throws
FileNotFoundException {
super(nazwa); klucz=k;
}
public void close() throws IOException
{super.close();}
public void zapisz(int i)throws WriteException
{super.zapisz(i+klucz);}
public int odczyt() {return super.odczyt()-klucz; }
}
try {
IPlik f=new PlikSzyfrowany(„abc.txt“,11);
f.zapisz(3);
f.zapisz(5);
int i=f.odczyt();
}
catch (FileNotFoundException e) {e.printStackTrace();}
catch (WriteException e) {e.printStackTrace();}
catch (IOException e){ e.printStackTrace();}
finally {if (f!=null) f.close();}
template <class T>
void f(T t) {
t.zapisz(1);
}
X x;
f(x);
C#:
public class FIFO : IFIFO {
private Lista l = new Lista();
public boolean pusta() { return l.pusta(); }
public void doKolejki(int i) { l.dodajNaKoniec(i); }
public void zKolejki() { l.usunZPoczatku(); }
public int pierwszy() { return l.poczatek(); }
}
public class FIFO : Lista, IFIFO {
public new boolean pusta() { return base.pusta(); }
public void doKolejki(int i) { dodajNaKoniec(i); }
public void zKolejki() { usunZPoczatku(); }
public int pierwszy() { return poczatek(); }
}
Lista l=new FIFO();
l.pusta();
interface IPlik {
void Zapisz(int i);
int Odczyt();
void Zamknij();
}
class Plik : IPlik {
public Plik(string nazwa) {..}
public virtual void Zapisz(int i) {…}
lub
public void
Zapisz(int i) {…}
...
}
class PlikSzyfrowany : IPlik {
private Plik p;
private int klucz;
public PlikSzyfrowany(string nazwa, int k) {
p=new Plik(nazwa); klucz = k;
}
public void Zapisz(int i) { p.Zapisz(i+klucz); }
public int Odczyt() { return p.Odczyt()-klucz; }
public void Zamknij() { return p.Zamknij(); }
}
class PlikSzyfrowany : Plik {
private int klucz;
public PlikSzyfrowany(string nazwa, int k):base(nazwa) {
klucz = k;
}
public [
new|
override]
void Zapisz(int i)
{ base.Zapisz(i+klucz); }
public new int Odczyt() { return base.Odczyt()-klucz; }
public new void Zamknij() { return base.Zamknij(); }
}
Plik p = new PlikSzyfrowany(„abc.txt“,13);
p.Zapisz(12);
try
Zad 5.
4 5 8 1 7 9