52 lines
1.8 KiB
Plaintext
52 lines
1.8 KiB
Plaintext
\b;Instrukcja \c;public\n; (dla specjalistów)
|
|
Instrukcja ta ma dwa podstawowe zadania¦:
|
|
|
|
1) Czyni funkcję dostępną dla innych robotów.
|
|
2) Sprawia, że element klasy jest widoczny poza definicją klasy.
|
|
|
|
\b;Instrukcja \c;public\n; dla funkcji
|
|
Umieszczenie instrukcji \c;public\n; przed definicją \l;funkcji\u cbot\function; sprawi, że funkcja będzie dostępna dla innych robotów podczas tej misji.
|
|
|
|
Na przykład pierwszy robot może zawierać¦:
|
|
\c;
|
|
\s;public void object::Segment(float odl, float kąt)
|
|
\s;{
|
|
\s; move(odl);
|
|
\s; turn(kąt);
|
|
\s;}
|
|
\n;
|
|
A inny¦:
|
|
\c;
|
|
\s;extern void object::Kwadrat( )
|
|
\s;{
|
|
\s; for ( int i=0 ; i<4 ; i++ )
|
|
\s; {
|
|
\s; Segment(10, 90);
|
|
\s; fire(1);
|
|
\s; }
|
|
\s;}
|
|
\n;
|
|
Jeśli funkcję zadeklarowano jako \c;public\n;, nie można zadeklarować funkcji o tej samej nazwie i parametrach w innym robocie podczas tej samej misji.
|
|
|
|
Jeśli robot zawierający funkcję zadeklarowaną jako \c;public\n; zostanie zniszczony, inne roboty używające tej funkcji zatrzymają się sygnalizując wystąpienie błędu.
|
|
|
|
\b;Instrukcja \c;public\n; dla klas
|
|
Elementy \l;klasy\u cbot\class; mogą być publiczne (domyślnie) lub \l;prywatne\u cbot\private;. Aby zadeklarować element jako prywatny, należy umieścić instrukcję \c;private\n; przed deklaracją jego typu. Elementy prywatne nie są dostępne poza definicją klasy.
|
|
\c;
|
|
\s;public class MojaKlasa
|
|
\s;{
|
|
\s; int b; // publiczna domyślnie
|
|
\s; public int a; // również publiczna
|
|
\s; private point position; // prywatna
|
|
\s;}
|
|
\s;void Test()
|
|
\s;{
|
|
\s; MojaKlasa item;
|
|
\s; item.a = item.b = 12; // ok
|
|
\s; message( item.position ); // powoduje błąd
|
|
\s;}
|
|
\n;
|
|
\t;Zobacz również
|
|
\c;\l;class\u cbot\class;\n;, \c;\l;private\u cbot\private;\n;, \c;\l;funkcje\u cbot\function;\n;
|
|
\l;Programowanie\u cbot;, \l;typy\u cbot\type; i \l;kategorie\u cbot\category;.
|