background image

class Kwadrat : Prostokat {
}

Prostokat p=new Kwadrat();
Kwadrat k = (Kwadrat)p;

background image

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();}

background image

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; }

}

background image

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);

background image

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();

background image

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