Object Pascal/Obiekty object
Z Wikibooks, biblioteki wolnych podręczników.
Obiekty zachowują się podobnie jak rekordy. Mają jednak metody i obsługują dziedziczenie. Nie obsługują za to wariantów.
[edytuj] Składnia rekordu
program obiektO; type samochod = object {deklaracja obiektu} kolor: String; marka: String; ilosc: Word; procedure sprzedane(ile: Word); {metoda - procedura} end; dostawczy = object(samochod) {dziedziczenie} ladownosc: Cardinal; function CzySieZmiesci(ile: Cardinal): boolean; {metoda - funkcja} end; {implementacje metod} procedure samochod.sprzedane(ile: Word); begin ilosc := ilosc - ile; end; function dostawczy.CzySieZmiesci(ile: Cardinal): boolean; begin CzySieZmiesci := ladownosc >= ile; end; var OpisSamochodu1: samochod; OpisSamochodu2: dostawczy; begin OpisSamochodu1.kolor := 'Niebieski'; OpisSamochodu1.marka := 'Honda'; OpisSamochodu1.ilosc := 7; Writeln('Marka Samochodu 1: ', OpisSamochodu1.marka); Writeln('Ilość na stanie: ', OpisSamochodu1.ilosc); OpisSamochodu2.kolor := 'Szary'; OpisSamochodu2.marka := 'Żuk'; OpisSamochodu2.ilosc := 5; OpisSamochodu2.ladownosc := 11500; Writeln('Marka Samochodu Dostawczego 2: ', OpisSamochodu2.marka); Writeln('Ilość na stanie: ', OpisSamochodu2.ilosc); if OpisSamochodu2.CzySieZmiesci(10000) then begin Writeln('Samochód spełnia wymagania firmy X. Firma X kupuje dwie sztuki.'); OpisSamochodu2.sprzedane(2); Writeln('Nowa ilość na stanie: ', OpisSamochodu2.ilosc); end else Writeln('Samochód nie spełnia wymagań firmy X'); Readln; end.