unterschiede_zu_java:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
unterschiede_zu_java:start [2021/03/04 07:22] – Martin Pabst | unterschiede_zu_java:start [2023/03/22 10:10] (aktuell) – Martin Pabst | ||
---|---|---|---|
Zeile 16: | Zeile 16: | ||
} | } | ||
</ | </ | ||
- | + | In LearnJ | |
- | In LearnJ | + | |
< | < | ||
Zeile 47: | Zeile 46: | ||
Die Programmiersprache dieser Website unterscheidet sich von Java dahingehend, | Die Programmiersprache dieser Website unterscheidet sich von Java dahingehend, | ||
+ | === 4. Keine Pflicht zur Erstellung eines Konstruktors === | ||
+ | Erbt eine Klasse von einer anderen Klasse, die keinen parameterlosen Konstruktor besitzt, so muss sie gemäß Java Specification einen eigenen Konstruktor haben. In der Online-IDE gibt es diese Pflicht nicht, so dass folgendes geht: | ||
+ | <code java> | ||
+ | new MyRectangle(10, | ||
+ | |||
+ | class MyRectangle extends Rectangle { | ||
+ | } | ||
+ | </ | ||
- | === 4. Standard Library === | + | === 5. Standard Library === |
Derzeit sind Nachbildungen folgender Klassen aus der Java Standard Library vorhanden: | Derzeit sind Nachbildungen folgender Klassen aus der Java Standard Library vorhanden: | ||
* die Klasse '' | * die Klasse '' | ||
Zeile 54: | Zeile 61: | ||
* eine vereinfachte Version der Klasse '' | * eine vereinfachte Version der Klasse '' | ||
* eine vereinfachte Version der Klasse '' | * eine vereinfachte Version der Klasse '' | ||
+ | * die Klasse '' | ||
* ein großer Teil des **Collection-Frameworks** von Java, insbesondere die Klassen und Interfaces | * ein großer Teil des **Collection-Frameworks** von Java, insbesondere die Klassen und Interfaces | ||
- | * '' | + | * '' |
* '' | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
* die Klassen '' | * die Klassen '' | ||
Zeile 65: | Zeile 74: | ||
* die Klasse '' | * die Klasse '' | ||
* die Klasse '' | * die Klasse '' | ||
- | * die Klasse '' | + | * die Klasse '' |
- | * sowie eine eingebaute umfangreiche Grafikbibliothek, | + | * die Klasse '' |
- | \\ | + | * die Klassen '' |
+ | * sowie eine eingebaute umfangreiche Grafikbibliothek, | ||
**Links:** | **Links:** | ||
- | * [[https:// | + | * [[https:// |
- | * [[api: | + | * [[api: |
+ | * [[api: | ||
+ | * [[api: | ||
+ | == Hier ein einfaches Beispiel zur Verwendung der Grafikklassen == | ||
< | < | ||
+ | <div class=" | ||
+ | <script type=" | ||
+ | new Feuerwerk(); | ||
- | < | + | class Feuerwerk extends Actor { |
+ | |||
+ | | ||
+ | if(Math.random() < 0.03) { | ||
+ | |||
+ | int funkenzahl | ||
+ | int farbe = Math.floor(Math.random() * 0xffffff); | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | new Funke(x, y, farbe, lebensdauer); | ||
+ | } | ||
+ | | ||
- | <script type=" | + | } |
- | new World(800, 600); | + | } |
- | Rectangle r = new Rectangle(10, 100, 300, 100); | + | |
- | r.setFillColor(Color.green); | + | } |
- | r.setBorderColor(Color.darkred); | + | |
- | r.rotate(30); | + | class Funke extends Circle { |
- | Circle c = new Circle(200, 200, 50); | + | |
- | c.setAlpha(0.8); | + | |
- | Sprite s = new Sprite(400, 300, SpriteLibrary.Ship_1); | + | |
- | s.scale(0.3); | + | |
+ | Funke(double x, double y, int farbe, double lebensdauer) { | ||
+ | super(x, y, 4); | ||
+ | | ||
+ | | ||
+ | vx = v * Math.cos(winkel); | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | | ||
+ | lebensdauer--; | ||
+ | move(vx, vy); | ||
+ | vy = vy + 0.2; | ||
+ | if(lebensdauer < 30) { | ||
+ | | ||
+ | } | ||
+ | if(isOutsideView() || lebensdauer < 0) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
</ | </ | ||
</ | </ | ||
- | |||
</ | </ | ||
| | ||
Zeile 118: | Zeile 170: | ||
* lokale Variablen und Parameter können als '' | * lokale Variablen und Parameter können als '' | ||
* Generics, z.B. '' | * Generics, z.B. '' | ||
- | * Variablendeklaration mit '' | + | * Das Schlüsselwort |
+ | * Instanzierung von Generics ohne Angabe der Typen in '<>', | ||
+ | * Wrapper-Klassen '' | ||
==== Operatoren ==== | ==== Operatoren ==== |
unterschiede_zu_java/start.1614838952.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)