asdasd
Java
code posted
created at 03 Mar 16:39, updated at 11 Mar 13:52
Edit
|
Back
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
class Complex { public double re, im; // odpowiednik definicji rekordu // re - część rzeczywista liczby zespolonej // im - część urojona liczby zespolonej public double mod() // definicja metody w klasie { return Math.sqrt( this.re*this.re + this.im*this.im ); } // this oznacza dany obiekt w klasie Test bedzie to z.re i z.im public String toString() { return "(" + this.re + ", " + this.im + ")" ; } public Complex coupled() { Complex other; // bufor dla this, zeby nie zmienil other = new Complex(); // swojej wartosci .im //! other = this; // błędne, ustawi 'this' do zmiennej other.re = this.re; // ustawiamy tylko wartości other.im = this.im; other.im = -other.im; return other; } } class Test { public static void main(String[] args) { Complex x, y, z; // x,y,z reprezentuja obiekt klasy Complex x = new Complex(); // tworzy nowy obiekt y = new Complex(); z = new Complex(); x.re = 5.0; x.im = 3.0; y.re = 4.0; y.im = 4.0; System.out.print ( "Liczby zesp.: " + x.toString() ); // do liczby mozna dodac // nie moze byc przecinkow // string, wowczas liczba // w tym nawiasie // staje się stringiem System.out.println( ", " + y.toString() ); System.out.println( "==========================================" ); z.re = x.re + y.re; z.im = x.im + y.im; System.out.println( "suma liczb: " + z.toString() ); z.re = x.re*y.re - x.im*y.im; z.im = x.re*y.im + x.im*y.re; System.out.println( "iloczyn liczb: " + z.toString() ); System.out.println( "modul pierwszej: " + x.mod() ); z = x.coupled(); // tworzy sprzezona do x i wstawia ja // w miejsce z System.out.println( x.toString() + "sprzezona do pierwszej: " + z.toString() ); } } Mamy tutaj zdefiniowane dwie klasy Complex i Test. Zatem po zakończeniu kompilacji do kodu bajtowego otrzymamy dwa pliki z rozszerzeniem .class . Klasa Complex zawiera definicje typu liczby zespolonej, na przykładzie której wykonywać będziemy operacji dodawania, mnożenia, itd. przykładowych liczby zespolonych. W klasie Test znajdują się polecenia wykorzystujące typ i metody zdefiniowane dla klasy Complex. [edytuj] Przykład 3 Plik źródłowy CrashTest2.java : class Vehicle { private String owner; public String model; public int type; //1,2,3 - typy samochodow private int reg; public void setOwner(String s) { owner=s; } public String getOwner() { return owner; } // public String toString() // { return model + ", " + type + "\nReg.No." + reg + // ", wlasnosc: " + owner + "\n"; } public String toString() { return model + ", " + typeToString() + "\nNr " + reg + ", wlasnosc: " + owner + "\n"; } private static int count=1000; /* poniewaz jest static, z kazdego obiektu nastepuje odwolanie do tej samej komorki pamieci */ Vehicle() { reg = count++; } // konstruktor klasy private String typeToString() { if (type == 1) return "rower"; else if (type == 2) return "motocykl"; else if (type == 3) return "auto"; else return "NIEZNANY!"; } } class CrashTest2 { public static void main(String[] args) { Vehicle v1 = new Vehicle(); Vehicle v2 = new Vehicle(); Vehicle v3 = new Vehicle(); v1.model = "Syrena 105 Turbo"; v1.type = 3; v1.setOwner("Jan Kowalski"); System.out.println(v1); v2.model = "Harley D., 1965"; v2.type = 2; v2.setOwner("Crazy Jackill"); System.out.println(v2); v3.model = "Romet Wigry 3"; v3.type = 1; v3.setOwner("John Brown"); System.out.println(v3); } } |
3.84 KB in 6 ms with coderay