Autor Thema: Suche Java Unfähige für ein gemeinsames Newbie Projekt  (Gelesen 48068 mal)

Offline Karotte

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 627
  • Geschlecht: Männlich
  • Never touch a running SysOp
    • Meine Homepage ;)
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #20 am: 09.04.03 - 14:30:53 »
Fis: nein, aber irgendwer muss doch die schwierige total langweilige aufgabe haben nebenbei noch brenner und dvdlaufwerke zu testen
"Quantenmechanisch ist alles eine Frage der Statistik. Auch wenn der Mensch zigmillionenmal derjenige war, der den Rechner ausgeschaltet hat, kann es doch beim zigmillionenersten Fall einmal der Rechner sein, der den Menschen ausschaltet."

-------------------------------------------------------------------
Domino Server: 5.0.10 (W2K)
Domino Cluster: 5.0.11 (W2K)
z.zt. 340 Clients: 5.0.6/5.0.9/5.0.10/5.0.11 (NT/W2K)
-------------------------------------------------------------------
CLS (R5) und MCP (72-210/72-215)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #21 am: 09.04.03 - 17:04:43 »
Hallo Java Freunde!

Vielleicht kann mal jemand genauer definieren wie wir anfangen sollen. Ich gehe einmal davon aus, dass die Begriffe Klasse, Objekt, Felder und Methoden für jeden von  LS ein Begriff sind. Ob Vererbung und Schnittstellen auch jeden ein Begriff sind wage ich einmal zu bewzweifeln. Vielleicht sollten wir hier anfangen. Ist das ok, oder hat jemand anderer einen besseren Vorschlag?

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #22 am: 09.04.03 - 18:28:44 »
jo...zum Start schlage ich folgendes als Inhalt vor, denn es geht im ersten Schritt wirklich erstmal nur um die absoluten Basics (und hierbei würde ich gerne stets wenn es denn geht Bezug auf Notes nehmen, damit es der Hebräischen Volksfront..ähhh...Notesfront einfacher fällt, mittels Assoziationen das neue Thema leichter zu greifen):

a.) was ist Java überhaupt = Generelle Beschreibung mit ganz leichter Einführung in OOP ("was ist zum Teufel OOP?")
b.) wann wird ein Javaprogramm überhaupt zu einem ausführbaren Java (.Java -> Javac ->.Class)..in Notes geh ich in den Designer, mach ne Form mit 1 Feld und ne View dazu und dat wars....in Java eben nicht...was muß ich dazu machen und womit und überhaupt wo denn da ??
c.) wozu habe ich dieses komische JDK und JRE? Was versteckelt sich dahinter?
d.) Wie ist ein JavaProgramm prinzipiell aufgebaut...dann versteht man auch diese explorerartigen Baumansicht in den vielen IDEs besser ("was ist zum Teufel dieses IDE und wozu brauch ich das in Java..geht das nicht mit Word?")
e.) was ist denn eine Klasse im Groben?
f.) was ist denn eine Methode und eine Eigenschaft? Wozu brauch ich den Quatsch in Java...gibbet das auch in Notes eigentlich?
g.) und wenn ich alles weiß, wie war das nochmal, wo entwickel ich Java..NetBeans...JDK...Forte...Visual....Notepad...Websphere...ja wo denn nuuu....sakra...

Im zweiten Part sollte - denke ich - die allgemeine Sprachsyntax wie zB die klassische Erläuterung der Datentypen, Schleifen etc... auftauchen, auch da immer wieder der Bezug zu NOtes - wie man es denn da macht und wie es in Java läuft

Den ersten Abschnitt würde ich versuchen zusammenzustellen.
Dazu mache ich ein längeres Postign auf, worauf wir dann Fragen stellen und Anmerkungen machen können. Wenn es dann keine weiteren Antwortpostings gibt, setze ich den Daumen und man geht zum zweiten Thema.

Einverstanden mit dem ersten Step? Ich hab "wer wil..." geschrien, also muß ich auch mit gutem Beispiel vorangehen und Einsatz zeigen, was aber ganz sicher nicht immer mein Part bleiben wird...nee neee  ;D Jeder sollte mal drankommen, damit es fair bleibt.

Cool wäre es, wenn wir dazu ein eigenes Unterforum bekommen könnten, damit die Artikel nicht durch fremde Beiträge zerfleddert werden. Admins und MODs, ne Chance?? So können auch später Leutz dazukommen, die zu einem Kapitel etwas beitragen möchten, weil sie zB die Basics nullinger interessieren.
« Letzte Änderung: 09.04.03 - 18:30:51 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #23 am: 09.04.03 - 19:30:25 »
Hurrah, ich bin nicht alleine....
Gerne würde auch ich mich der 'Lerngruppe Java' anschließen.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #24 am: 09.04.03 - 19:50:52 »
- ich mache mal einen kleinen Anfang (bezieht sich aber ein wenig auf die Beans)

a)
Java ist eine von Sun Microsystems entwickelte(1991), vollkommen plattformunabhängige Programmiersprache mit spezieller Ausrichtung auf den Einsatz im World Wide Web. Die Sprache lehnt sich in Aufbau und Syntax an C/C++ an. …………… JAVA zeichnet sich u.a. durch folgende Eigenschaften aus:
-   Objekt-Orientierung
-   JAVA ist durchgängig objektorientiert und stellt dem Programmierer eine Fülle elementarer und komplexer Objekte bereit
.................
Java ist nicht nur eine Programmiersprache, es ist vielmehr eine Mischung aus Sprache und dazugelieferter Funktionalität in Form von Packages. Diese Funktionalitäts-Pakete haben dazu beigetragen, daß sich diese Entwicklungsumgebung derart schnell verbreiten konnte.
Sun stellt eine Reihe von Bibliotheken zur freien Verfügung, von der Datenbasis (JDBC) über die Anwendungsschicht(JNI,RMI)  bis hin zur API-Oberfläche(AWT,JFC,SWING)
.................
Eine sinnvolle Erweiterung von Java sind die JavaBeans, eine Technologie für Java Komponenten. Beim Design modularer Software wird höchste Priorität darauf gelegt, daß der Code wiederverwendbar ist und in Bausteine zerlegbar ist. Durch dieses “populäre“ und mächtige Konzept wird die Entwicklungseffizienz um ein Vielfaches verbessert. Die JavaBeans Technologie basiert auf Java und ermöglicht es, Java Klassen als Softwarekomponenten zu erstellen und zu verwenden. Die Ziele von JavaBeans sind sehr elegant formuliert worden: “ Einmal schreiben, überall laufen, überall wiederverwenden“
.......................
   Ist Java langsam?
Nun es gibt schon ein Paar Ursachen, wo man sagen kann, daß Java langsamer ist als C.
Ein Grund ist, daß Java eine dynamisch gebundene, objektorientierte Sprache ist. Java Programme binden ihre Klassen erst bei der Ausführung. Erst während der Ausführung können sie polymorphe Methodenaufrufe in der Hierarchie der vererbten Objekte auflösen. Überschreibt eine Methode in einer untergeordneten Klasse die Methode einer  übergeordneten Klasse, kann ein dynamisch gebundenes Programm erst bei der Ausführung erkennen, welche Methode Vorrang hat. Dieses Prinzip der späten Bindung wird auch in C++ verwendet(über virtuelle Methoden).
C-Compiler binden ein Programm statisch während der Kompilierung, indem sie Zeiger in die Funktionsaufrufe einfügen, so daß das Programm diese Verweise nicht erst bei der Ausführung auflösen muß.
..........................
Die offene Java Architektur wird deutlich auch an der Unterstützung von fünf verschiedenen Compiler-Arten: Quellcode-Compiler, Bytecode-Compiler, Bytecode-Optimierer, JIT-Compiler, dynamisch/adaptive Compiler und statische native Compiler.
...........................
Unter JAVA ist die Arbeitsspeicherverwaltung aus Programmierersicht wesentlich unkritischer als beispielsweise unter C. Es gibt keine durch Zeiger adressierte Speicherbereiche von unbestimmter Größe, sondern nur Speichervektoren von fest definierter Länge. Die Fehlerarme Speicherverwaltung ist besonders wichtig, da JAVA-Programme ohne Portierungsaufwand in verschiedenen CPU-Umgebungen ablaufen sollen.
JAVA-Programme werden wie herkömmliche Programme zu Objektcode compiliert, jedoch nicht in eine bestimmte Prozessor- oder Betriebssystem-Umgebung eingebunden, also nicht „gelinkt“. Java-Programme laufen daher auf allen Plattformen, wenn ein Java-Objektcode-Interpreter installiert ist (bei WWW-Browsern wie Netscape ab V2.0 ist dies die sog. „Java-Schnittstelle“).
.................................
7   Das objektorientierte Paradigma(OOP = objekt orientierte programmierung)
Nach den klassischen Programmiersprachen ist die Essenz eines Programmes, Daten nach Vorschriften/Algorithmen zu verändern, um daraus neue Daten zu gewinnen. Die Hauptidee der objektorientierten Denkweise ist jedoch das Objekt und die Zusammenfassung von Objekten zu Klassen.

7.1   Objekte
Objekte werden häufig, als Einheit von Daten und Prozeduren beschrieben. Im Gegensatz zu den prozeduralen Sprachen, wo der Programmierer dafür verantwortlich ist, daß die geeigneten Prozeduren und Funktionen auf die Daten angewendet werden, konstruiert man in der objektorientierten Programmierung eine Einheit aus Daten und Vorschriften nämlich das Objekt.

..................................
7.2   Botschaften
An ein Objekt werden Anliegen sogenannte Botschaften herangetragen, bestimmte dem Objekt bekannte Operationen auszuführen.
........................
7.3   Klassen
Objekte mit gleicher innerer Struktur und Funktionalität werden zu Klassen zusammengefaßt, die in einer hierarchischen Ordnung zueinander stehen. Klassen sind die zentrale Struktur eines OO-Softwaresystems. Klassen sind die Erweiterung des Konzeptes abstrakte Datentypen aus klassischen Programmiersprachen.
...
Die Klasse ‘java.lang.Object‘ ist die Basis aller Klassen in Java. Jedes beliebige Objekt verfügt durch die direkte oder indirekte Ableitung von ‘Object‘ mindestens über dessen Methoden.
.......................
7.4   Vererbung
Die Vererbung der Eigenschaften einer Klasse auf ihre Unterklassen hat folgende Konsequenzen:
-   Der gesamte Datenspeicher, d.h. alle Exemplarvariablen werden übernommen. Eine Unterklasse wird vielleicht noch neue Exemplarvariablen hinzufügen, um das Verhalten ihrer Exemplare zu spezialisieren. Es ist aber in keinem Fall möglich Exemplarvariablen wegzulassen.
-   Alle Methoden der Oberklasse können von den Objekten der Unterklasse verwendet werden. Das Methodeninterface einer Klasse beschränkt sich nicht nur auf die in dieser Klasse definierten Methoden, sondern die Exemplare der Unterklasse können auf sämtliche Methoden der Oberklasse zurückgreifen.
................................
Java erlaubt keine Mehrfachvererbung. Es besteht die Schwierigkeit, daß man die Methoden der Klasse Thread, insbesondere die Methode sleep() nicht direkt erben kann. Zur Lösung
dieser Schwierigkeit gibt es in Java das Konzept der Schnittstellen. Die Zeile:
public class UhrApplet extends Applet implements Runnable{}
weist die Klasse UhrApplet an, daß sie die Schnittstelle Runnable implementiert. Die Schnittstelle enthält die Methode run(). Objekte der Klasse UhrApplet dürfen nun, als Objekte
der Schnittstelle Runnable verwendet werden. Mit genau einem solchen Objekt kann ein Thread initialisiert werden.
   Clock = new Thread(this);
Das Thread Objekt wird mit dem Uhr Objekt selbst(this) initialisiert. Der Thread läuft dann so, als wäre er selbst die Uhr. Die sleep() Methode unterbricht lediglich den Ablauf des Thread Objekts, nicht jedoch das Applet.
.........................
7.7   Fazit
Die grundlegende Idee der objektorientierten Programmiersprachen ist es, sowohl Daten als auch Funktionen, die auf diese Daten zugreifen, in einer einzigen Einheit zu kombinieren. Der schwierigere Teil Objekte zu erstellen, genauer gesagt zu definieren ist jedem Programmierer bekannt, aber in dieser Phase des Designs greifen immer bessere und leistungsfähigere visuelle Programmiertools den Entwicklern unter die Arme.
….
OO-Programmierung  ist allgemein zu einer Schlüsseltechnologie der modernen  Software-entwicklung geworden. Hier stellt sich aber die Frage: Ist das alles?  Ich meine sollen wir bei der objektorientierten Denkweise aufhören?  Gibt es nicht bessere, einfachere und strukturiertere Werkzeuge und Denkweisen, damit wir unseren Traum verwirklichen – den “Computer Butler“, als Teil unseres Lebens akzeptieren und weiterentwickeln.
Vor Jahrhunderten noch, war es ein Privileg der Adligen lesen und schreiben zu lernen. Analog dazu vertrete ich die These das jeder in Zukunft seinen eigenen Maschinen Sklaven halten und programmieren kann. Die Elite der heutigen Programmiergurus wird in Zukunft mit einem müden Lächeln begrüßt, wenn sie von ihren bahnbrechenden OO-Technologien erzählen wird. Der Wandel der Zeit bestimmt die Technologien von morgen.
#####################

ok ich habe das Thema als Teil meiner Diplomarbeit(JDK 1.0)  erstellt... wenn ich das jetzt so lese stimmen verschiedene Themen nicht mehr ganz oder sind schon überholt.....
 

cu
« Letzte Änderung: 09.04.03 - 20:24:44 von Performance »
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #25 am: 09.04.03 - 19:57:46 »
zu b )  d )

7.6   Die Unterschiede
   Java Applet
Ein Applet ist ein Java-Programm, das ein Browser über das Netz laden und ausführen kann.
Es muß von der Klasse Applet abgeleitet werden. Das Applet wird über einen HTML Tag in die HTML Seite eingefügt. Das Applet unterliegt den Sicherheitsrestriktionen.

<applet codebase="http://<Server>/UhrApplet"
        code="UhrApplet.class" width=100 height=60>
 [ <param name="Parameter" value="Willkommen in der Java Welt!">]
  <hr>
  Falls sie keinen Browser besitzen der Java 1.1 unterstützt,  werden sie diesen Text jetzt lesen.
 <hr>
  </applet>
Anmerkung: Codebase und Parameter sind optional
Im Appletviewer wird dies folgendermaßen gemacht:
appletviewer  UhrApplet.html
Im Gegensatz zu einem Java Programm besitzt ein Applet die Methode start(). In einem Programm wird dies durch das Hauptprogramm void main() realisiert. In einem Applet werden die importierten Klassen im ‘Header‘ deklariert, diese werden von der VM geladen und ausgeführt.

&#61656;   Java Programm
Das Programm Uhr befindet sich im Anhang.
Ein Java Programm besteht für gewöhnlich aus einer Menge von Klassendeklarationen, die auf mehrere Dateien aufgeteilt sind. Pakete bringen eine Struktur in diese Menge von Dateien. Die Paketdeklaration kann im Applet, als auch im Programm  deklariert werden;
   package diplom.uhr;
d.h. die Programm- bzw. Applet-Dateien befinden sich im Verzeichnis ..\diplom\uhr.
Ein Paket faßt Klassen und Schnittstellen in einem Verzeichnis zusammen, das durch den Paketnamen bestimmt wird.
In einem Programm wird immer als erstes die Klassenmethode static void main() aufgerufen.
Diese Methode wird vom Interpreter(java.exe) als erstes ausgeführt. Das Programm wird nicht über einen Browser gestartet, d.h. die Sicherheitsbeschränkungen können wegfallen, da ‘lokal‘ gelesen und geschrieben wird.

Der Interpreter arbeitet die main() Methode ab, diese führt ein Objekt der eigenen Klasse ein und ruft dessen run() Methode auf(die Methode start() ist in der Klasse Thread deklariert, diese ruft run() auf), die wiederum dafür sorgt, daß im Abstand von jeweils einer Sekunde eine neue Uhrzeit auf der Standardausgabe angezeigt wird.

&#61656;   Java Beans
Eine Bean ist von der Funktionsweise genau wie ein Applet. Mit JAR Dateien können Klassen und Ressourcen für Beans in eine komprimierte Einheit zusammengefaßt werden, um sie zu organisieren und Platz zu sparen. Eine Datei oder eine Bean wird bei einer Internet Verbindung in einer einzigen HTTP Transaktion ausgeliefert, was viel schneller geht als mehrere einzelne Dateien zu transferieren. JAR Dateien können auch mehrere Beans speichern. Die Programmierung dieser Komponenten, erfolgt im allgemeinen mit einer Software, die dem Entwickler eine Sammlung von Komponenten anbietet und Mittel bereitstellt, die Komponenten zu konfigurieren und sie zusammenzusetzen, d.h. den Datenstrom und den Ereignisstrom festzulegen. Eine Bean Klasse muß die Schnittstelle Serializable implementieren. Eine nähere Beschreibung finden sie in dem Kapitel JavaBeans Architektur. Das Einbinden in die HTML Seite, wird genau wie ein Applet realisiert, nur wird hier noch das JAR Archive hinzugefügt:
<APPLET CODE="UhrApplet.class"
archive=UhrApplet.jar
 width=100 height=60>
</APPLET>
Ein einfaches Werkzeug das den Einstieg in die Bean Komponententechnologie erleichtert, ist das BDK(Bean Development Kit). Für anspruchsvolle Applikationen, werden verschiedene professionelle Entwicklungs-umgebungen angeboten, wie z.B.: Kawa, Borland Jbuilder, Visual Age for Java, Symantec Visual Cafe, Powersoft PowerJ, Microsoft Visual J++, BeanMachine usw.

...................

cu
« Letzte Änderung: 09.04.03 - 20:09:30 von Performance »
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #26 am: 09.04.03 - 20:05:21 »
zu  c)

JDK = Java Development Kit - Sammlung von Klassen, die Lösungen für bestimmte Standardprobleme und Werkzeuge für das Benutzen und Weiterentwickeln der Java Sprache, zur Verfügung stellt - oder im hardcore jargon - Java IDE
JRE = Java Resource Environment - eine lauffähige VM - oder abgespeckte JDK


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #27 am: 09.04.03 - 20:12:42 »
zu e )

7.3   Klassen
Objekte mit gleicher innerer Struktur und Funktionalität werden zu Klassen zusammengefaßt, die in einer hierarchischen Ordnung zueinander stehen. Klassen sind die zentrale Struktur eines OO-Softwaresystems. Klassen sind die Erweiterung des Konzeptes abstrakte Datentypen aus klassischen Programmiersprachen. Während bei Variablen jedoch nur die innere Struktur durch den Datentyp  festgelegt ist, bestimmt die Klasse auch die Funktionalität ihrer Exemplare.
In dem obigen Beispiel wird die Klasseninstanz UhrApplet erzeugt:
public class UhrApplet extends Applet implements Runnable  {}

Klassen stellen also keine isolierten Gebilde dar, sondern sind in einer Hierarchie angeordnet, die sich die Taxonomie der Naturwissenschaften zum Vorbild gemacht hat. Ausgehend von einer Stammklasse, die das allgemeine Verhalten von Elementen spezifiziert, werden in den Unterklassen speziellere Objekttypen vereinbart. Unterklassen erben die Struktur und Funktionalität ihrer Oberklassen und modifizieren diese, um den speziellen Anforderungen gerecht zu werden. Dadurch entstehen Klassenbibliotheken, die das Gegenstück zu Funktionsbibliotheken in klassischen Programmiersprachen darstellen.
   
Die Klasse ‘java.lang.Object‘ ist die Basis aller Klassen in Java. Jedes beliebige Objekt verfügt durch die direkte oder indirekte Ableitung von ‘Object‘ mindestens über dessen Methoden. In Java deklariert der Programmierer Klassen mit dem Schlüsselwort class. Der Java-Interpreter kann zur Laufzeit Klassen laden. Im JDK-1.1 kann eine Klasse andere Klassen enthalten.
Klassen und Schnittstellen können in Java Typen sein. Soll in einer Variablen ein Objekt einer Klasse gespeichert werden, reicht es nicht aus, sie als Variable vom Typ dieser Klasse zu deklarieren, sie muß explizit mit einem erzeugten Objekt belegt werden. Erst dann kann man über sie auf Objektkomponenten zugreifen.

uhr = new Thread( this );
uhr.start();

...................


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #28 am: 09.04.03 - 20:19:34 »
zu f ) (tse, tse, tse  also Rob  :o )

9   JavaBeans Architektur

9.1   Verwaltung von Eigenschaften
Eigenschaften sind der Datenteil einer Bean und spiegeln ihren internen Zustand wieder.
Eigenschaften sind diskrete, benannte Attribute einer Bean, die ihr Erscheinungsbild und Verhalten bestimmen.
Beispiele für ihre Verwendung:
-   Objektfelder in Skriptumgebungen – Java Skript
-   Im Programm über öffentliche Zugriffsmethoden
-   Visuell über Eigenschaftsbrowser in Entwicklungswerkzeugen
-   Durch die persistente Speicherung und Wiederherstellung einer Bean


Eigenschaften haben oft den eingebauten Java-Typ int oder long, können aber auch Klassen- und Schnittstellen-Typen haben. Eine Eigenschaft kann von jedem beliebigen Datentyp sein, einschließlich selbstdefinierter Typen.
Beispiel von Eigenschaften und Datentypen:
   Eigenschaft      Datentyp
   fillColor      Color   (Klassentyp)
   orientation       boolean
   partsFilled       float
   totalParts      float


9.2   Indizierte Eigenschaften
Indizierte Eigenschaften sind Eigenschaften, die ein Array von Werten darstellen. Auf einen einzelnen Wert wird mit einem Index zugegriffen. Diese Eigenschaft  ist sehr nützlich bei einer Gruppe von Eigenschaften desselben Typs. (Behälter Bean - Container)
Da indizierte Array-Eigenschaften sich aus mehreren einzelnen Elementen zusammensetzen, die in einem Array gespeichert sind, reichen die Standard Lese- und Schreibmethoden nicht mehr für den Zugriff aus. Ein Paar liest und schreibt einzelne Eigenschaften in dem Array über einen Index, während das andere Paar das ganze Array von Eigenschaften als Einheit liest und schreibt.
Beispiel:    public float getMasse(int index);
      public void setMasse(int index, float masse);
      public float[] getMasse();
      public void setMasse(float[] masse);

Die Schreibmethoden für das Schreiben eines Eigenschaftsarrays als Ganzes ermöglicht es auch, die Größe des Arrays zu verändern.

......
dann gibt es hier noch die Unterscheidung uwischen gebundenen Eigenschaften und Eigenschaften mit Constraints -- ich will aber nicht übertreiben ;D
......

9.4   Zugriffsmethoden
Eine Zugriffsmethode ist eine öffentliche Methode, die in einer Bean definiert ist und den Wert einer Eigenschaft liest oder schreibt. Jede Eigenschaft einer Bean muß ein zugehöriges Paar von Zugriffsmethoden haben: Lesemethode(get) und Schreibmethode(set). Jedoch nicht alle Eigenschaften haben ein Paar von Zugriffsmethoden. Manche Eigenschaften sollen nur gelesen, aber nicht geschrieben werden.

&#61656;   Lese- und Schreibmethoden
Lese und Schreibmethoden bilden die Schnittstelle zwischen den Eigenschaften einer Bean und der Außenwelt. Durch das Prinzip der Datenkapselung ist es nicht erlaubt, auf Eigen-schaften außerhalb der Bean direkt zuzugreifen. Eigenschaften können nur mit Zugriffs-methoden bearbeitet werden.
Zugriffsmethoden verwenden eine einfache Namenskonvention, um anzuzeigen welche Aktion sie auf welcher Eigenschaft durchführen. Die Lesemethode muß mit get, und die Schreibmethode mit set beginnen.
Beispiel: eine Eigenschaft heißt laenge - dann werden die Zugriffsmethoden getLaenge() und
   setLaenge() heißen. Die Deklaration der Methoden lautet dann:
public Laenge getLaenge();
public void setLaenge(Laenge a);




cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #29 am: 09.04.03 - 20:22:57 »
zu d )

da bleibt nicht viel zu sagen  - ich würde an deiner Stelle die samples durchgehen damit die Java IDE(NetBeans) dein freund und Helfer wird  ;D ;D
- es ist eh so das verschiedene Tools verschiedene IDE aufweisen und eine gewisse Einarbeitungszeit notwendig ist um produktiv zu werden


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #30 am: 10.04.03 - 08:10:23 »
@Ralf_M_Petter

Ich hab's mal probiert und bekomme eine Fehlermeldung.

Netbeans gibt folgende Meldungen aus:

java.lang.UnsatisfiedLinkError: no nlsxbe in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1403)
        at java.lang.Runtime.loadLibrary0(Runtime.java:788)
        at java.lang.System.loadLibrary(System.java:832)
        at lotus.domino.NotesThread.load(NotesThread.java:299)
        at lotus.domino.NotesThread.checkLoaded(NotesThread.java:320)
        at lotus.domino.NotesThread.sinitThread(NotesThread.java:174)
        at test.testprogramm.main(testprogramm.java:21)
Exception in thread "main"

Das Problem muß irgendwo in Zeile 21 liegen. Die Version von Notes.jar ist dabei egal. Ich habs mit R5 und R6 probiert.

Wo liegt denn da der Hase im Pfeffer?

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #31 am: 10.04.03 - 09:25:50 »
MODs / Admins könnt ihr uns bitte ein separates Subforum geben....das wird sonst seeehr unübersichtlich? Zum Abschluss des Projekts kann man ja das Ding einfrieren und separat irgendwo hinstellen.

Meine Fragen / Bemerkungen zum Beitrag von Performance...
- kleine Dingsbumsfehler: "&#61656; " kannst Du das Kopierte kurz mal checken...scheint ein Umlaut zu sein oder Sonderzeichen
- klasse, daß Du einen Einstieg zur Verfügung stellst  :) :)

Ergänzungen eines Anfängers:
- Java Programme kann man auch im kleinen mit Notepad schreiben. Diese bekommen die Endung ".Java" und müssen zwingen den Namen der Klasse haben, die im Programm verwendet wird...
heißt es also zB im Programm "public class ABC.." muß die Datei den Namen "ABC.java" bekommen !!!

- wie in anderen normalen Nicht Notessprachen muß man das Kompilieren selbst übernehmen, wobei wie o.g. kein Maschinencode erzeugt wird, sondern ein Bytecode (!!!), was ihn OS unabhängig macht, da spezielle OS abhängige Java Compiler (Microsofts Java Virtual Machine oder Suns JIT zB) den Bytecode umsetzen in Maschinencode und über einen Java Interpreter zur Ausführung bringen. Das Kompilieren selbst wird mit der .exe "Javac" erledigt. Der Kompilierer erzeugt sogenannte ".class" Dateien...in dem Fall also eine "ABC.class" Datei. Das ist unser in Bytecode kompiliertes Programm.
Im Übrigen ist das wirklich vergleichbar mit Notes Lotus Script, das die Notes Engine beim Speichern immer nur in Bytecode kompiliert und erst beim Ausführen in Maschinencode in Abhängigkeit auf dem OS umsetzt und startet. Dadurch sind Notes Datenbanken OS unabhängig (na ja, nicht immer, aber idR)

- möchte man ein Javaprogramm nach dem Kompilieren testen, kann man "java" oder "javaW" verwenden. Das erste ist für reine textorientierte und das zweite für grafsiche Ausgaben unter Windows. Da nennt sich Java Interpreter.

Also zusammengefasst:
- Java Programm schreiben "ABC.java"
- Java Programm kompilieren mit "javac"
- erzeugt eine "ABC.class" Datei
- mit Interpreter "java/w" testen

Ich hatte mich früher immer gewundert, was diese komplexen, explorerartigen Java Class Dateien Bäume erzeugt....nun das hängt eng mit OOP Modell von Java zusammen, da jedes Programm-Modul "irgendwie" von anderen Modulen abhängt. Hierbei gibt es eine Hierarchie und das ist vergleichbar zu Verzeichnispfaden im OS.
So kann es eine Klasse "Java" geben,
darunter eine Unterklasse "Java lernen" und
eine weitere "Java testen"
...
als Baum ergibt sich
.\Java
.\Java\Javalernen\
Start1.class
Start2.class
...
.\Java\Javatesten\
Test1.class
Test2.class
...

Start1.class kann auf die Methoden und Eigenschaften der Klasse Java zurückgreifen. So wie in Notes auch, wo es eine Art von Klassen-Hierarchie gibt. Da habe ich die Klasse NotesSession und kann mich herunterhangeln bis auf Notes.Item, das alle Eigenschaften/Methoden von NotesSession "vererbt" bekommt, sprich verwenden kann.

In Java gibt es im Gegensatz zu Notes sogenannte "Packages", das sind nix anderes als "gezippte" Klassen, die gruppiert wurden. Damit man nicht wie oben so ewig lange Baumstrukturen bekommt. Denn es gibt in Java cirka 5000 Klassen (in Notes sind es..na...so an die 30-40 ? rofl..) und ca. 50 Packages. Ein Package ist zB das immer wieder erwähnte "Swing". Es gehört zu einem Teil zu der sogenannten Java Foundation Class Bibliothek, das nix anders als die originale Sun Sammlung an Klassen darstellt. Swing verfügt über grafische Möglichkeiten. Ein anderes Package das "java.io" ..zuständig für Bildschirmausgaben etc..."java.net" enthält alles mögliche für Netzwerkzugriffe. Auf der Sun Seite zu Java gibt es eine Übersicht dazu. Wie man die Packages einbinden kann, so wie wir Notesler über Dim NS as New NotesSession starten zur "Eröffnung" der Backendverarbeitung bzw. über "use LSBibliothekABC", kommen wir sicher im 2. Kapitel.

Mehr dazu auf:
http://java.sun.com/docs/books/tutorial/index.html
http://developer.java.sun.com/developer/onlineTraining/Programming/BasicJava1/
http://developer.java.sun.com/developer/onlineTraining/Programming/BasicJava2/
http://developer.java.sun.com/developer/onlineTraining/Programming/JDCBook/
http://developer.java.sun.com/developer/onlineTraining/JavaIntro/
« Letzte Änderung: 10.04.03 - 09:28:27 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #33 am: 10.04.03 - 09:37:27 »
geile Tuts...danke eke!
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #34 am: 10.04.03 - 10:26:15 »
Beginner Frage :

1. wo liegt der Unterschied zwischen Java und JavaServerPages (JSP)?
2. man liest von der HotSpot Technik, JavaProgramme schneller laufen lassen zu können, indem bestimmte Codebestandteile gecached werden bzw. nur dann geladen werden, wenn sie gebraucht werden...wo "bekommt man HotSpot" her und ist das überhaupt eine akzeptierte Technik?
« Letzte Änderung: 10.04.03 - 10:28:33 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #36 am: 10.04.03 - 10:48:40 »
merci..

Antwort 2. Frage zuerst also:
"any application or applet processed with the Java 2 runtime environment (application launcher, plug-in, or applet viewer) will by default use the Java HotSpot performance engine"

Antwort 1. Frage:
Zitat...
--Allgemeine Infos und Geschichte:
Java Server Pages galt lange Zeit als Pedant der Firma Sun auf Microsofts ASP. Genau wie bei anderen Sprachen wird der Code direkt in HTML eingebettet. JSP ist keine eigene Programmiersprache sondern es wird, wie der Name schon sagt, in Java programmiert. Vor allem Java und C++ Programmiern kommt das entgegen.

Der große Unterschied von JSP zu den Konkurrenten ist seine Objektorientierung. Der Code wird vom Engine zusogenannte Servlets (Gegenstück zu CGI) gemacht wird.

--Voraussetzungen
JSP kann zum Beispiel auf den kostenlosen Tomcat-Servern realisiert werden. Auch auf ISS (Windows) oder Apache (Linux, Windows) läuft es unverändert.

Als Editor kann man wieder jedes X-beliebige Textverarbeitungsprogrammm, aber auch professionelle Editoren wie JBuilder, Webgain/VisualCafe, Visual Age verwenden. Unterstützung auch in Macromedia Drumbeat und Dreamweaver Ultradev."


Ich hoffe die Antwort langt allen Beginners.  ;)
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #37 am: 10.04.03 - 11:21:17 »
prinzipielle Frage zum eigentlichen Coding anhand eines Beispiels...

wann macht man eine Klasse zu ner Klasse und wann zu ner Eigenschaft und wann zu ner Subklasse...gibt es gutes und einfach zu merkendes Verfahren/Trick?

Bsp:
ich habe eine Klasse "Guter Notesprogrammierer" und "Schlechter Notesprogrammierer"...beide enthalten die Eigenschaften "Bugs in 1000 Line of Codes", "Schusseligfkeitsfaktor", "Stressanfälligkeit", "Krankheitsquote", "Zigarettenkonsum", etc..an sich macht sie die Summe der Eigenschaften zu einem "guten" bzw. "schlechten" Programmierer. Somit habe ich eine Gesamt-Eigenschaft fälschlicherweise als eigene Klasse definiert, nämlich die o.g. "guten und schlechten" 2 Notesprogrammierer Klassen.

Es wird schnell klar, daß man hier besser eine Klasse nehmen sollte, nämlich nur "Notesprogrammierer".

Was ist aber, wenn ich "Guter Notesprogrammierer" mit einem "Schlechten C++ Programmierer" vergleichen möchte, und dabei Eigenschaften auftreten, die nicht bei beiden gleich sind?

Nehme ich dann eine gemeinsame Klasse "Programmierer" und nehme die Schnittmenge der übereinstimmenden Eigenschaften beider bisherigen Klassen hier in diese Klasse mit auf und mache dann 2 Subklassen "Notes" und "C++" oder wie würdet ihr dann prinzipiell verfahren ? (habe bewußt de Methoden außen vor gelassen, damit es nicht zu kompliziert wird).
« Letzte Änderung: 10.04.03 - 11:22:49 von Rob Green »
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #38 am: 10.04.03 - 12:38:41 »
Hi,

hier noch ein Link dem man Beachtung schenken kann:
http://www.jnotes.com
Die Beispile sind echt schick und lassen sich dank 1:1 Anleitung gut nachvollziehen
Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline BEamer

  • Junior Mitglied
  • **
  • Beiträge: 96
Re:Suche Java Unfähige für ein gemeinsames Newbie Projekt
« Antwort #39 am: 11.04.03 - 02:41:12 »
@Rob Green

Ich würde wie Du beschrieben hast eine  Allgemeine Klasse Programmierer erstellen mit den oben genannten Eigenschaften und für die speziellen Fälle, C++ und Jave eine neue Klasse erstellen welche die Attribute und Methoden von der Klasse Programmierer erbt.

Hier nochmal in Kurzform die Konzepte der OO-Programmierung:

  1. Kapselung:   Daten und Funktionen werden zu Objekten zusammengfasst
  2. Abstraktion: Beschreibung eines oder mehrer ähnlicher Objekte
  3. Polymorphismus:  Mehrere implementierungen einer Methode, aber nur mit einen (denselben) Namen.
  4. dyn. Binden:  Laufzeitsystem entscheided beim Aufruf anhand des Objektes, welche Implementierung ausgeführt wird.
  5. Vererbung:  Die erbende (spezielle) Klasse erbt die Methoden und Attribute der vererbenden Klasse. Es besteht die Mgl. weiteres hinzuzufügen, bzw. Methoden zu überschreiben.

Als Anhang habe ich mal ein kleines UML-Diagramm für ein Beispiel mit einen Auto, welches als speziellen Typ ein LKW und ein Auto hat.

Dieses Bsp. ist auch schnell implementiert (der unten aufgeführte Code muss nicht lauffähig sein, dient zur demonstration).

class Auto {
  // Attribute
  private String sTyp;
  private String sFarbe;
  private int nBaujahr;
  private int nKmStand;
  private int nInspektionsIntervall;

  // Methoden
  public int iKmBisInspektion () {
    return (nInspektionsIntervall - ( nKmStand % nInspektionsIntervall ) );
  }

  public int iAlter ( int nJahr ) {
    return ( nJahr - nBaujahr );
  }
}

// Klasse Pkw erbt von der Klasse Auto
class PKW extends Auto {
  // neues Attribut
  private int nSitzAnzahl;
}

// Klasse LKW
class LKW extends Auto {
  // neue Attribute
  private int nAchsenAnzahl;
  private int nNutzlast;
}


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz