Klasseninstanzen mit Konstruktoren erstellen
|
|
- Arnim Walter
- vor 6 Jahren
- Abrufe
Transkript
1 Klasseninstanzen mit Konstruktoren erstellen In diesem Kapitel lernen Sie wie Sie einen Klassenkonstruktor erstellen. wie Sie mehrere Konstruktoren für eine Klasse erstellen. wie Sie eine Klasseninstanz mit einem Konstruktor initialisieren. wie Sie die ToString-Methode für eine Klasse implementieren. wie Sie ein Array mit Klasseninstanzen instantiieren. wie Sie ein Array mit Klasseninstanzen als Datenquelle eines List- Box-Steuerelements verwenden. Im vorherigen Kapitel haben Sie die Klasse Book mit den Eigenschaften Text und Title erstellt. Das Generieren einer neuen Instanz dieser Klasse erforderte drei Code-Zeilen. Die erste Zeile deklarierte und instantiierte die Klasse und die zweite und dritte Zeile setzten die Eigenschaften Text und Title. In diesem Kapitel werden Sie einen Klassenkonstruktor erstellen, mit dessen Hilfe Sie alle drei Schritte Deklarieren, Instantiieren und Initialisieren der Felder gleichzeitig durchführen können. Konstruktoren Ein Konstruktor ist ein Code-Block, der ausgeführt wird, wenn Sie das Schlüsselwort new verwenden (New oder new), um eine Klasseninstanz zu erzeugen. Konstruktoren weisen die folgenden Leistungsmerkmale auf: Ein Konstruktor kann Parameter entgegennehmen, mit denen Sie die Felder initialisieren können, wenn das Objekt erstellt wird. Ein Konstruktor kann die Gültigkeit der an ihn übergebenen Parameter überprüfen, wenn die Klasse erstellt wird. Eine Klasse kann mehrere Konstruktoren besitzen, die jeweils unterschiedliche Parameter entgegennehmen. Ein Konstruktor kann einen anderen Konstruktor aufrufen, um einen Teil der Arbeit dieses Konstruktors zu übernehmen. 55
2 Die Visual Basic-Syntax zum Definieren von Konstruktoren unterscheidet sich ein wenig von der Syntax, die Visual C# verwendet. In Visual Basic wird ein Konstruktor ohne Parameter wie folgt deklariert: Public Sub New() End Sub In Visual C# wird derselbe Konstruktor mit dem Klassennamen deklariert: public Book() { In beiden Fällen wird der Konstruktor mit dem Schlüsselwort public (Public oder public) deklariert. Sie benötigen einen öffentlichen (engl. public) Konstruktor, um mit dem Schlüsselwort new eine Klasseninstanz erstellen zu können. Sie können einen Konstruktor ebenfalls mit dem Schlüsselwort private (Private oder private) deklarieren. Wenn Sie lediglich einen Konstruktor in Ihrer Klasse definieren und dieser privat ist, kann der Client-Code keine Klasseninstanzen generieren. Wenn Sie in Ihrer Klasse keine Konstruktoren definieren, erzeugt der Compiler die öffentlichen, leeren Konstruktoren ohne Parameter, die in den vorherigen Code-Fragmenten aufgeführt sind. Sie sollten deshalb sicherstellen, dass die Felder der Klasse dort, wo die Deklaration der Konstruktoren erfolgt, korrekt initialisiert werden. Bücher lesen: Eine alternative Implementierung Sie haben im vorherigen Kapitel die Eigenschaften Text und Title gesetzt, nachdem die Klasse initialisiert wurde. In diesem Kapitel werden Sie zwei unterschiedliche Konstruktoren für die Initialisierung der Klassenfelder erstellen. Der erste Konstruktor ist ein Standardkonstruktor, der eine Instanz wie im ersten Kapitel erzeugt. Der zweite Konstruktor initialisiert die Eigenschaften Title und Text. Sie werden außerdem keine Library-Klasse erstellen, sondern die Bücher stattdessen in einem einfachen Array speichern. Dieses Array bildet die Datenquelle für ein ListBox-Steuerelement. Konstruktoren in der Book-Klasse erstellen Diese Übung baut auf der Übung des ersten Kapitels auf. Sie erstellen ein neues Projekt, in das Sie das Formular und die Book-Klasse übernehmen, die Sie im ersten Kapitel generiert haben. Im Anschluss daran modifizieren Sie die Book-Klasse, indem Sie ihr zwei Konstruktoren und eine ToString-Methode hinzufügen. 56
3 Das Projekt erstellen Um das soeben beschriebene Projekt zu erstellen, gehen Sie wie folgt vor: Erstellen Sie ein neues Windows-Anwendungsprojekt, das Sie ReadMore- Books nennen. Bewegen Sie den Mauszeiger im Projektmappen-Explorer auf Form1 und klicken Sie mit der rechten Maustaste. Wählen Sie im anschließend angezeigten Kontextmenü den Eintrag Löschen aus. Klicken Sie auf die Schaltfläche OK, um den Löschvorgang zu bestätigen. Bewegen Sie den Mauszeiger im Projektmappen-Explorer auf ReadMore- Books und klicken Sie mit der rechten Maustaste. Wählen Sie im anschließend angezeigten Kontextmenü den Eintrag Hinzufügen und dann Vorhandenes Element hinzufügen aus. Navigieren Sie im anschließend angezeigten Dialogfeld Vorhandenes Element hinzufügen zur Datei Form1.vb oder Form1.cs, die Sie im ersten Kapitel erstellt haben. Markieren Sie die Datei mit einem Mausklick und klicken Sie auf Öffnen. Dem ReadMoreBooks-Projekt wird daraufhin eine neue Kopie von Form1 hinzugefügt. Bewegen Sie den Mauszeiger im Projektmappen-Explorer auf ReadMore- Books und klicken Sie mit der rechten Maustaste. Wählen Sie im anschließend angezeigten Kontextmenü den Eintrag Hinzufügen und dann Vorhandenes Element hinzufügen aus. Navigieren Sie im anschließend angezeigten Dialogfeld Vorhandenes Element hinzufügen zur Datei Book.vb oder Book.cs, die Sie im ersten Kapitel erstellt haben. Markieren Sie die Datei mit einem Mausklick und klicken Sie auf Öffnen. Dem ReadMoreBooks-Projekt wird daraufhin eine neue Kopie der Klasse Book hinzugefügt. Das Text-Feld in eine Eigenschaft konvertieren Wenn Sie einen Konstruktor erstellen, können Sie entscheiden, ob das Text-Feld und das Title-Feld Ihrer Book-Klasse leer sein sollen. Um den Gültigkeitsbereich des Textes zu erweitern, konvertieren Sie diesen in eine Eigenschaft. (Sie werden in den verbleibenden Kapiteln dieses Buches nicht mehr viele öffentliche Felder sehen.) Führen Sie im Projektmappen-Explorer, abhängig von der Sprache die Sie verwenden, einen Doppelklick auf Book.vb oder Book.cs aus, um die entsprechende Datei im Code-Editor anzeigen zu lassen. Modifizieren Sie das Text-Feld, so dass dieses künftig ein privates Feld ist. Denken Sie daran, dass private Felder üblicherweise mit dem Präfix m_ beginnen. Private m_text As String = "" 57 private string m_text = "";
4 Fügen Sie der Klasse eine Definition für die Eigenschaft Text hinzu. Public Property Text() As String Get Return m_text End Get Set(ByVal Value As String) m_text = Value End Set End Property public string Text { get { return m_text; set { m_text = value; C#-Code formatieren C# verwendet das Semikolon, um Anweisungen zu trennen. Mithilfe des Semikolons können Sie Ihren Code besser formatieren, als dies in Visual Basic möglich ist. Der vorherige C#-Code zeigt ein kompakteres Format für die Definition einer Eigenschaft. Opfern Sie die Lesbarkeit jedoch niemals der Kompaktheit. Einen Konstruktor ohne Parameter hinzufügen Wenn Sie mit Visual C# arbeiten, sollten Sie den Namespace für Book.cs und Form1.cs in ReadMoreBooks umbenennen, so dass sich all Ihre Klassendeklarationen in demselben Projekt-Namespace befinden. Außerdem vereinfachen Sie auf diese Weise das Deklarieren von Klassenvariablen. Ändern Sie die Namespace-Deklaration zu Beginn der Datei, so dass diese wie folgt aufgebaut ist: // Nur Visual C# // Nehmen Sie die folgende Änderung in Book.cs und in Form1.cs vor namespace ReadMoreBooks Wenn Sie mit Visual Basic arbeiten, wählen Sie im Listenfeld Klassenname den Eintrag Book (ReadMoreBooks) aus, sofern dies nicht bereits geschehen ist. Wenn Sie mit Visual C# arbeiten, wählen Sie im gleichen Listenfeld ReadMoreBooks.Book aus. Wählen Sie im Dropdown-Listenfeld Methodenname den Eintrag New aus, wenn Sie mit Visual Basic arbeiten. In Visual C# wählen Sie im gleichen Listenfeld den Eintrag Book aus. Der Klasse Book wird daraufhin der folgende Code hinzugefügt: 58
5 Public Sub New() End Sub public Book() { // // TODO: Fügen Sie hier die Konstruktorlogik hinzu // Ihre nächste Aufgabe besteht darin, einen Konstruktor mit Parametern zu erstellen. Sie können innerhalb einer Klasse mehrere Konstruktoren erzeugen, wenn diese anhand ihrer Parameterlisten unterschieden werden können. Einen Konstruktor mit Parametern erstellen Wenn Sie Konstruktoren mit Parametern erstellen, sollten Sie daran denken, dass der Code in einem Konstruktor nach der Initialisierung der Felder ausgeführt wird. Sie können deshalb jede Feldinitialisierung überschreiben. Fügen Sie unter den Felddeklarationen den folgenden Code ein, um einen Konstruktor zu deklarieren, der die beiden Parameter Title und Text erhalten soll. Modifizieren Sie jedoch nicht den bereits bestehenden Konstruktor, der im vorherigen Abschnitt erstellt wurde. Sie generieren stattdessen einen zweiten Konstruktor. Public Sub New(ByVal title As String, ByVal text As String) End Sub public Book(string title, string text) { Fügen Sie Ihrem neuen Konstruktor den folgenden Code hinzu, um zu überprüfen, ob ein Titel und ein Text übergeben wurden. Wenn eine leere Zeichenfolge als Titel oder Text übergeben wurde, soll ein Ausnahmefehler ausgelöst werden. Ein Ausnahmefehler unterbricht die Ausführung des Programms und verhindert, dass die Klasse instantiiert wird. If (title <> "") And (text <> "") And _ (Not IsNothing(title)) And (Not IsNothing(text)) Then m_title = title m_text = text Else Throw New Exception("Title or text is an empty string.") End If 59
6 if ((title!="")&&(text!="")&&(title!=null)&&(text!=null)){ m_title = title; m_text = text; else { throw new System.Exception("Title or text is an empty string."); Würden Sie den Konstruktor löschen, dem keine Parameter übergeben werden und den Sie im Abschnitt Einen Konstruktor ohne Parameter hinzufügen erstellt haben, müsste der Client-Code den neuen Konstruktor benutzen. Dies bedeutete, dass keine Instanzen generiert werden könnten, bis der Text und der Titel bekannt wären. Eine ToString-Methode hinzufügen Im ersten Kapitel verwendeten Sie das Title-Feld als Zeichenfolge, die im Listenfeld des ReadBooks-Projekt angezeigt wurde. Da Sie in diesem Kapitel ein Array benutzen, um die Instanzen von Book zu speichern, können Sie den Umstand nutzen, dass Sie ein Array als Datenquelle für ein Listenfeld verwenden können. Wenn Sie eine ToString-Methode für die Klasse der Objekte definieren, die Sie anzeigen lassen möchten, benutzt das Listenfeld diese Methode, um jedes im Array enthaltene Objekt darzustellen. Fügen Sie der Klasse Book die folgende Methode hinzu: 60 Public Overrides Function ToString() As String Return m_title End Function public override string ToString() { return m_title; Im.NET Framework ist es fast unmöglich, mit Klassen konfrontiert zu werden, die nicht von der Klasse System.Object abgeleitet sind. Das override-schlüsselwort (Overrides in Visual Basic und override in Visual C#), das in der Methodendeklaration benutzt wird, zeigt an, dass die ToString- Methode der Book-Klasse anstelle der ToString-Methode verwendet werden soll, die in der Klasse System.Object definiert ist. Die in System.Object definierte Methode würde einfach den Namen der Klasse (ReadMoreBooks.Book) ausgeben. Die Änderungen an der Klasse Book sind nun abgeschlossen.
7 Datenvalidierungsfehler in einem Konstruktor behandeln Ihnen stehen verschiedene Möglichkeiten zur Verfügung, um auf Situationen zu reagieren, in denen entweder der title- oder der text-parameter eine leere Zeichenfolge ist: Sie können einen Ausnahmefehler auslösen. Dieser Ansatz wurde in dem Beispiel dieses Kapitels verwendet. In diesem Fall wird keine neue Instanz der Book-Klasse erstellt. Die Programmausführung wird in der Code-Zeile unterbrochen, die das Schlüsselwort new enthalt. Sie können dann einen try-block (Try oder try) verwenden, um auf die Fehlerursache zu reagieren oder die Verarbeitung fortzusetzen. Sie können das Feld durch eine leere Zeichenfolge ersetzen. Würden Sie jedoch einen Konstruktor bereitstellen, um nicht leere Zeichenfolgen in den Feldern text und title zu erzwingen, würden Sie diese Taktik nicht einsetzen. Würden Sie stattdessen einen Konstruktor zur Verfügung stellen, um die Eigenschaften während der Initialisierung zu setzen, wäre das Ersetzen des Feldes durch eine leere Zeichenfolge eine angemessene Lösung. Wenn Sie sich dazu entschließen, das Feld durch eine leere Zeichenfolge zu ersetzen, sollten Sie die Entwickler darauf hinweisen, dass jeder Instanz von Book eine leere Zeichenfolge für title und text übergeben werden kann. Die Konstruktoren benutzen Sie werden nun die bisherigen Code-Zeilen durch nur einen Aufruf des Konstruktors ersetzen. Sie werden außerdem die Library-Klasse durch ein Array ersetzen und die Datenbindungseigenschaften des.net Frameworks nutzen, indem Sie das Array als Datenquelle verwenden. Den zu ersetzenden Code löschen Bewegen Sie den Mauszeiger im Projektmappen-Explorer auf Form1, klicken Sie mit der rechten Maustaste und wählen Sie im anschließend angezeigten Kontextmenü den Eintrag Code anzeigen aus, um den Code des Formulars im Code-Editor zu öffnen. Entfernen Sie die Methode showpage_click. Entfernen Sie in der Klasse Form1 die Deklaration des Feldes Library. Sie werden dieses Feld durch ein Array mit Book-Instanzen ersetzen. ' Löschen Sie diese Zeile des Visual Basic-Projekts: Private m_library As Library // Löschen Sie diese Zeile im Visual C#-Projekt: private Livrary m_library; Entfernen Sie den Code im Form1_Load-Ereignis. 61
8 Entfernen Sie den Code aus der Methode listofbooks_selectedindexchanged, so dass Sie nur noch über die Schnittstelle verfügen. Sie werden nun den Code schreiben, der notwendig ist, um die im ersten Kapitel beschriebene Funktionalität zu erhalten. Mit dem Konstruktor eine Instanz von Book erstellen Sie müssen der Methode Form1_Load Code hinzufügen, so dass das Formular ein Array mit Book-Instanzen erstellen und dieses Array an ein ListBox-Steuerelement binden kann. Erzeugen Sie eine Instanz der Märchenbuchklasse. Verwenden Sie dazu den Konstruktor, der zwei Parameter entgegennimmt. Fügen Sie der Form1_Load-Methode den folgenden Code hinzu: Dim fairytales As Book = _ New Book("Fairy Tales", "Once upon a time there was a bear.") Book fairytales = new Book("Fairy Tales", "Once upon a time there was a bear."); Wenn Sie abhängig von der verwendeten Sprache new oder New eingeben, zeigt IntelliSense an, dass Sie zwei Konstruktoren definiert haben. Dies ist in der folgenden Abbildung dargestellt. Wenn Sie über mehr als einen Konstruktor verfügen, werden die Konstruktoren als überladen bezeichnet. Erstellen Sie für das Kochbuch eine Instanz der Book-Klasse. Verwenden Sie dazu den Konstruktor, der zwei Parameter besitzt: Dim cookies As Book = New Book("Cookies", _ "Chocolate chip cookies are the most delicious cookies.") Book cookies = new Book("Cookies", "Chocolate chip cookies are the most delicious cookies."); 62
9 Ein Array mit Book-Instanzen generieren Fügen Sie unter den Book-Deklarationen den folgenden Code ein, um ein Array zu erzeugen: Dim m_library() As Book = New Book() {fairytales, cookies Book [] m_library = new Book [] {fairytales,cookies; Fügen Sie unter den Array-Deklarationen den folgenden Code ein, um das jeweilige Array als Datenquelle für das ListBox-Steuerelement zu benutzen: listofbooks.datasource = m_library listofbooks.datasource = m_library; Der Code der vollständigen Methode ist nachfolgend aufgeführt: Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim fairytales As Book = _ New Book("Fairy Tales", "Once upon a time there was a bear.") Dim cookies As Book = New Book("Cookies", _ "Chocolate chip cookies are the most delicious cookies.") Dim m_library() As Book = New Book() {fairytales, cookies listofbooks.datasource = m_library End Sub private void Form1_Load(object sender, System.EventArgs e) { Book fairytales = new Book("Fairy Tales", "Once upon a time there was a bear."); Book cookies =new Book("Cookies", "Chocolate chip cookies are the most delicious cookies."); Book [] m_library =new Book [] {fairytales,cookies; listofbooks.datasource = m_library; Auf die Auswahl im ListBox-Steuerelement reagieren Wenn Sie die Applikation starten, zeigt das ListBox-Steuerelement die Titel aller Bücher an. Da die Datenquelle des ListBox-Steuerelements ein Array mit Book-Instanzen ist, repräsentiert jedes Element in der Liste eine Instanz der Klasse Book. Fügen Sie nun Code hinzu, um eine Instanz abzurufen und die ausgewählte Seite anzeigen zu lassen. 63
10 Fügen Sie der SelectedIndexChanged-Ereignisbehandlungsroutine des mit listofbooks bezeichneten ListBox-Steuerelements, den folgenden Code hinzu: Dim thebook As Book = CType(listOfBooks.SelectedItem, Book) Book thebook =(Book)(listOfBooks.SelectedItem); Wie Sie im ersten Kapitel gesehen haben, werden die Objekte im ListBox- Steuerelement wie Instanzen von System.Object behandelt. Die Methode CType ändert die Instanz nicht. Sie verändert lediglich die Art und Weise, in der sich die Instanz zur Laufzeit präsentiert. Die C#-Syntax unterscheidet sich ein wenig von der Visual Basic-Syntax, führt aber zu demselben Ergebnis. Die Book-Instanz wird nun nicht mehr wie eine Instanz von System.Object, sondern wie eine Instanz von Book behandelt. Fügen Sie unter der CType-Anweisung den folgenden Code ein, um eine Seite des Textes anzeigen zu lassen: titlelabel.text = thebook.title thebook.pagelength = Decimal.ToInt32(pageLength.Value) page.text = thebook.getpage(decimal.toint32(pagetodisplay.value)) titlelabel.text =thebook.title; thebook.pagelength =Decimal.ToInt32(pageLength.Value); page.text =thebook.getpage(decimal.toint32(pagetodisplay.value)); Da pagelength.value eine Zeichenfolgeneigenschaft des pagelength- Steuerelements ist, können Sie ihren Wert nicht direkt der Integer-Eigenschaft thebook.pagelength zuweisen. Die Methode Decimal.ToInt32 konvertiert die Zeichenfolge pagelength.value in einen Integer-Wert. Starten und testen Sie das Programm. Es wird dasselbe Verhalten wie die Applikation des ersten Kapitels aufweisen. Diese beiden Übungen haben einige der Optionen demonstriert, die Ihnen zur Verfügung stehen, wenn Sie Objekte und Applikationen entwickeln. Im ersten Kapitel haben Sie die Klassen Book und Library generiert, um die gestellte Aufgabe zu lösen. In diesem Kapitel haben Sie lediglich eine Book-Klasse erzeugt und die Möglichkeiten der.net Windows-Steuerelemente genutzt, um das Verhalten von Library zu implementieren. Dieses Verhalten wird durch den gemeinsamen Einsatz des ListBox-Steuerelements und des Arrays erzielt. 64
11 Arrays deklarieren und initialisieren Ihnen stehen mehrere Möglichkeiten zur Verfügung, um ein Array mit Klasseninstanzen zu deklarieren und zu initialisieren. Die Syntax (für Visual Basic), die Sie im vorherigen Abschnitt verwendet haben, ist nachfolgend noch einmal aufgeführt: Dim m_library() As Book = New Book() {fairytales, cookies Sie können dasselbe Array auch wie folgt deklarieren: Dim books() As Book = _ {New Book("Title1", "Text1"), New Book{"Title2", "Text2" Oder so: Dim m_library() As Book = {fairytales, cookies Und hier noch eine weitere Möglichkeit: Dim books(2) As Book Books(0) = New Book("Title1", "Text1") Books(1) = New Book("Title2", "Text2") Books(2) = New Book("Title3", "Text3") Referenz- und Werttypen Um die letzten drei Code-Auszüge verstehen zu können, sollten Sie die Konzepte für Referenztypen und Werttypen in Visual Basic und Visual C# verstehen. Jede Variable, die Sie in den Kapiteln dieses Buches deklarieren, ist entweder ein Referenztyp oder ein Werttyp. Visual Basic, C# und Typen In Visual Basic sind alle Variablen entweder Referenztypen oder Werttypen. C# verwendet einen dritten Typ, der als Zeigertyp bezeichnet wird. Sie können eine Zeigertyp-Variable, ähnlich wie einen C++- Zeiger, nur innerhalb eines unsafe-code-blocks verwenden. Die nicht sichere Kodierung wird jedoch nicht in diesem Buch behandelt. Eine Referenztyp-Variable wird immer dann generiert, wenn Sie eine Variable wie folgt deklarieren: als Klasse (zum Beispiel Book) als Schnittstelle (Schnittstellen werden im neunten Kapitel erörtert) als Array (zum Beispiel Dim numbers() as Integer) als Zeichenfolge als Objekt (zum Beispiel Dim x As Object) als Delegat (Delegate werden im siebten Kapitel beschrieben) 65
12 Eine Werttyp-Variable wird immer dann generiert, wenn Sie eine Variable wie folgt deklarieren: als ganzzahligen Typ (zum Beispiel Integer oder int) als Fließkommazahl (zum Beispiel Double oder double) als Booleanschen Typ (zum Beispiel Boolean oder bool) als Enumeration (zum Beispiel System) als Struktur (zum Beispiel DateTime) Wenn Sie eine Variable als Werttyp oder als Referenztyp deklarieren, wird der Variablen ein Bereich im Speicher zugeordnet. Dieser Bereich enthält für Werttypen den Wert der Variablen. Wird ein Referenztyp deklariert, enthält der reservierte Speicherbereich die Position einer Instanz der entsprechenden Klasse im Speicher. Referenzdeklarationen reservieren deshalb nur den Speicher, der notwendig ist, um auf eine Instanz der Klasse (in unserem Beispiel ist dies die Klasse Book) zu verweisen. Dim abook as Book; Book abook; Wenn Sie mithilfe des Operators new (New in Visual Basic und new in C#) die Instanz einer Klasse erstellen, wird automatisch Speicher für die in der Klasse deklarierten Felder reserviert. Die folgenden Anweisungen führen dazu, dass Speicher für die Felder Text, PageLength und Title reserviert wird, die in der Klasse Book definiert sind. Der new-operator gibt die Adresse der Felder im Speicher zurück. New Book("theTitle", "thetext") new Book("theTitle", "thetext") Im Anschluss daran generieren die nachfolgend aufgeführten Anweisungen die Instanz der Book-Klasse und setzen die Variable abook auf die Position der neuen Instanz. abook = New Book("theTitle", "thetext") abook = new Book("theTitle", "thetext") Doch wie lautet der Wert von abook, wenn die zuerst aufgeführte Anweisungsgruppe ausgeführt wird, bevor er mit diesen letzten beiden Anweisungen gesetzt wird? Bevor ein Referenztyp initialisiert wird, ist sein Wert in Visual Basic gleich Nothing und in C# gleich null. Der nachfolgend aufgeführte Code-Auszug gibt True zurück: Dim abook as Book MessageBox.Show((aBook Is Nothing).ToString()) 66
13 Book abook; MessageBox.Show((aBook == null).tostring()); Visual Basic bietet das Schlüsselwort Is zum Testen des Wertes eines Referenztyps an. C# verwendet den Gleichheitsoperator ==. Visual Basic stellt außerdem die Methode IsNothing zur Verfügung, um den Wert einer Referenz zu testen. Diese Methode gibt den Booleanschen Wert True zurück, wenn die Referenz gleich Nothing ist. Die folgenden Zeilen erfüllen dieselbe Funktion wie der zuvor aufgeführte Code: Dim abook As Book MessageBox.Show(IsNothing(aBook).ToString()) Wenn Sie versuchen, die Eigenschaften oder Methoden einer Referenz zu benutzen, während diese auf Nothing gesetzt ist, tritt ein Fehler auf, da keine Instanzdaten vorhanden sind, mit denen gearbeitet werden könnte. Dieser Fehler trägt die Bezeichnung System.NullReferenceException. Wenn Sie Ihre Programme stabiler gestalten möchten, sollten Sie überprüfen, ob Ihre Referenzen auf null oder Nothing gesetzt sind. Sie sollten besonders darauf achten, diese Überprüfung nicht erst dann durchzuführen, wenn Sie die Referenz als Parameter an eine Methode übergeben haben. In diesem Fall hat Ihr Code weniger Kontrolle über den Status der Variablen, als vor dem Aufruf der Methode. Das Konzept der Referenztypen betrifft außerdem das Kopieren, das Überprüfen von Übereinstimmungen und die Speicherbereinigung. Das Kopieren wird im zehnten Kapitel beschrieben, das Überprüfen von Übereinstimmungen im zwölften Kapitel und die Speicherbereinigung im achten Kapitel. Array-Deklarationen verstehen Die ersten drei Beispiele im Abschnitt Arrays deklarieren und initialisieren verwenden Variationen der folgenden Syntax: Dim m_library() As Book = {fairytales, cookies In diesem Beispiel werden die geschweiften Klammern { definiert, um ein Array mit Werten zu generieren. Sie könnten fairytales auch durch New Book("Fairy Tales", "Once upon a time") ersetzen, da der Ausdruck New einen Verweis auf eine Klasseninstanz zurückgibt. Das folgende Beispiel differiert ein wenig von allen anderen Beispielen: Dim books(2) As Book Books(0) = New Book("Title1", "Text1") Books(1) = New Book("Title2", "Text2") Books(2) = New Book("Title3", "Text3") Die erste Anweisung erzeugt keine Instanz der Book-Klasse. Sie generiert lediglich ein Array mit Verweisen auf Book-Instanzen. In der zweiten, dritten und vierten Zeile werden die Instanzen von Book erstellt und den Referenzen zugewiesen. 67
14 Schnellüberblick Sie möchten einen Konstruktor ohne Parameter erstellen.... einen Konstruktor mit Parametern erstellen.... ein Array mit Verweisen auf Instanzen erstellen.... ein Array mit Instanzen erstellen und initialisieren. 68 Gehen Sie wie folgt vor: Wählen Sie im Code-Editor und dort im Dropdown-Listenfeld Klassenname den gewünschten Klassennamen und im Dropdown-Listenfeld Methodenname den Eintrag New (für Visual Basic) oder den Klassennamen (für Visual C#) aus. Oder: Fügen Sie in Visual Basic diesen Code hinzu: Public Sub New() End Sub Fügen Sie in Visual C# diesen Code hinzu: public Book() { Erstellen Sie einen Konstruktor ohne Parameter. Fügen Sie die Parameter so hinzu, wie Sie dies für die Methode einer Klasse tun würden. Fügen Sie in Visual Basic diesen Code hinzu: Dim books() As Book Fügen Sie in Visual C# diesen Code hinzu: Book[] books; Fügen Sie in Visual Basic diesen Code hinzu: Dim books() As Book = _ { New Book(), New Book() Fügen Sie in Visual C# diesen Code hinzu: Book[] books = { new Book(), new Book();
15 Sie möchten... überprüfen, ob eine Referenz auf Nothing oder null gesetzt ist. 69 Gehen Sie wie folgt vor: Fügen Sie in Visual Basic diesen Code hinzu: Dim abook As Book If IsNothing(aBook) Then ' Hier den Code einfügen, der ' ausgeführt werden soll, wenn ' die Referenz auf Nothing ' gesetzt ist. End If. Fügen Sie in Visual C# diesen Code hinzu: Book abook; if (abook == null) { ' Hier den Code einfügen, der ' ausgeführt werden soll, wenn ' die Referenz auf null ' gesetzt ist.
16
Prof. W. Henrich Seite 1
Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse
MehrMicrosoft Access 2010 Bilder
Microsoft Access 2010 Bilder Hyperlinks... arbeiten ähnlich wie ein Link in einer Webseite. sind ein Verweis auf eine Datei (access2010\material\beispiel\tabledevelop\automat.accdb). können ein Verweis
MehrErstellen von speziellen Ereignissen in C#
Erstellen von speziellen Ereignissen in C# Anhand eines Projekts, das demonstriert, wie spezielle Ereignisse ausgelöst werden und wie sie sich auf den verwendeten Code auswirken, zeigen wir Ihnen, wie
MehrMakro + VBA 2007 effektiv
Daten Makro + VBA 2007 effektiv 5 DATEN 5.1 Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten, siehe Seite 84, jederzeit im Programm verändert werden. Als Variablen können
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
MehrJava Einführung Klassendefinitionen
Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrJava Einführung Methoden. Kapitel 6
Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrEinstieg in die Programmierung mit Visual Basic.NET
Einstieg in die Programmierung mit Visual Basic.NET Agenda - Methoden mit Argumenten - Überladen von Methoden - Eigenschaftenprozeduren - Eigenschaftenprozeduren automatisch generieren - Konstruktoren
MehrInhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung Visual Basic 2010 Express installieren Teil II Grundlagen von Visual Basic
Teil I Erste Schritte 1 Einleitung.... 11 1.1 Die Themenschwerpunkte dieses Buches.... 11 Visual Basic 2010 Express.... 11 Visual Basic 2010.... 12.NET Framework.... 13 1.2 Wie Sie am besten mit diesem
MehrKapitel 8. Programmierkurs. Methoden. 8.1 Methoden
Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrEinstieg in die Informatik mit Java
1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrFlexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com)
Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl, www.joposol.com) Kapselung Was ist das? Auszug aus Wikipedia Kapselung ist auch ein wichtiges
MehrFormulare vererben und Basisklassen erstellen
Formulare vererben und Basisklassen erstellen In diesem Kapitel lernen Sie wie Sie mit der Vererbungsauswahl vorhandene Formulare in Projekte aufnehmen. wie Sie eigene Basisklassen mit selbst definierten
MehrMicrosoft Visual Studio Community 2015
Microsoft Visual Studio Community 2015 Visual Studio Community 2015 ist eine kostenlose IDE mit leistungsfähigen Programmier- und Entwicklungswerkzeugen für Windows, ios und Android. Sie ist für einzelne
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
MehrKapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik
Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen
MehrMichael Kolberg. einfach klipp & klar. Microsofft* Press
Michael Kolberg einfach klipp & klar Microsofft* Press III Vorwort 11 Die CD-ROM zum Buch 21 Die AutoPlay-Funktion der CD-ROM 22 Installation der Testfragen und des Ebooks 23 Installation des Computer-Lexikons
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrObjektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ
Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die
MehrErstellen sicherer ASP.NET- Anwendungen
Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen
MehrJava Vererbung. Inhalt
Java Vererbung Inhalt 1 Zielsetzung... 2 1.1 Bewertung... 2 2 Grundlagen der Vererbung... 2 2.1 Super und Subklassen... 2 3 Überladen von Methoden... 4 3.1 Unterschiedliche Parameter... 4 3.2 Gleiche Parameter
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrGewusst wie: Erstellen einer C#-Windows-Anwendung
Page 1 of 7 2008 Microsoft Corporation. All rights reserved. Visual C#-Sprachkonzepte Gewusst wie: Erstellen einer C#-Windows-Anwendung In diesem Thema können Sie sich mit den Elementen der Visual C# Express
MehrTeil A Einführung in Microsoft Visual C# und Microsoft Visual Studio 2008 23
Einleitung 13 Einführung 13 An wen sich dieses Buch richtet 13 Wegweiser für Ein- und Umsteiger 14 Konventionen und Features in diesem Buch 15 Konventionen 15 Weitere Features 16 Systemvoraussetzungen
Mehr3 Klassen, Attribute, Methoden
3 Klassen, Attribute, Methoden Jörn Loviscach Versionsstand: 10. April 2011, 10:25 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.j3l7h.de/videos.html
MehrKlassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg
Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive
MehrMicrosoft Visual C# 2008
John Sharp 13 Microsoft Visual C# 2008 Schritt für Schritt 13 13 14 15 15 16 16 17 17 17 21 22 22 23 25 26 II 40 51 Press 53 54 54 55 55 56 56 57 58 63 63 64 Inhaltsverzeichnis Einleitung 13 Einführung
MehrGrundzüge der Programmierung. Wiederverwendung VERERBUNG
Grundzüge der Programmierung Wiederverwendung VERERBUNG Inhalt dieser Einheit Syntax: Vererbung in Java Superklassen - Subklassen Konstruktorenaufruf in Subklassen super, abstract und final 2 Code-Reuse
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse
MehrJava Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
MehrInhaltsverzeichnis. jetzt lerne ich
Inhaltsverzeichnis jetzt lerne ich Vorwort 17 1 Ein wenig Theorie vorab 21 1.1 Was ist ein Programm? 22 1.2 Wie wird ein Programm erstellt? 23 1.3 C#, IL-Code und JIT-Compiler 25 1.3.1 Erstellung und Ausführung
MehrMethoden (fortgeschritten) in C# - 1
Methoden (fortgeschritten) in C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Opertatoren Überladung 2. delegate 3. Anonyme Methoden delegate Lamda Ausdruck-Lamdas Anweisung-Lamdas Variablenbereich
MehrWord. Verweise. Textmarken, Querverweise, Hyperlinks
Word Verweise Textmarken, Querverweise, Hyperlinks Inhaltsverzeichnis 1 Textmarken... 4 1.1 Hinzufügen einer Textmarke... 4 1.2 Ändern einer Textmarke... 4 1.2.1 Anzeigen von Klammern für Textmarken...
MehrObjective-C CheatSheet
App-Templates: Erstellt automatisch einen Navigation Controller mit editierbarem UITableView und DetailView, der bei Klick auf einzelne UITableViewCell angezeigt wird. Kreiert einen GLKitViewController
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrÜberschreiben von Methoden
Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra
MehrMicrosoft 2010 Express/Beispiel für Grafische Oberflächen
I Vorbereitung wie Konsolanwendung Rechner hochfahren - Visual C++ 2010 Express aufrufen Datei/neu/Projekt im Menue wählen II Projekt und Projektmappe anlegen Vorlage CLR markieren Projekttyp Windows Forms-Anwendung
MehrKapitel 6. Vererbung
Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen
MehrAufbau von Klassen. class punkt {...
Einführung in C++ Aufbau von Klassen Eine wird mit dem Schlüsselwort class eingeleitet, und endet mit einem Semikolon. Der Inhalt wird zwischen geschweiften Klammern geschrieben. class punkt {... ; Im
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrDirectX 9 mit Visual Basic.NET DirectInput Teil 2 und Kamera Teil 2
DirectX 9 mit Visual Basic.NET DirectInput Teil 2 und Kamera Teil 2 Vorwort Herzlich Willkommen zum 4½ Tutorial^^ Heute geht es um darum wie man die Maus benutzt und wie wir die Kameraklasse erweitern.
MehrAlternative Schutzmechanismen für Excel
Alternative Schutzmechanismen für Excel Bernd Held, Vaihingen an der Enz Neben dem in Excel standardmäßig angebotene Tabellenschutz können Sie weitere Schutzmechanismen in Excel einsetzen. Dazu bedarf
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrJavakurs zu Informatik I. Henning Heitkötter
Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,
MehrInhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte
Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 1 SS 2016
MehrInhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung 11. Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen 17
Teil I Erste Schritte 1 Einleitung 11 1.1 Die Themenschwerpunkte dieses Buches 11 Visual Basic for Applications 11 Die Beispieldateien 12 1.2 Wie Sie am besten mit diesem Buch arbeiten 13 Programmierung
Mehr13 OOP MIT DELPHI. Records und Klassen Ein Vergleich
13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Mehr4 Vererbung, Polymorphie
4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work
MehrJava I Vorlesung 6 Referenz-Datentypen
Java I Vorlesung 6 Referenz-Datentypen 7.6.2004 Referenzen this, super und null Typkonvertierung von Referenztypen Finale Methoden und Klassen Datentypen in Java In Java gibt es zwei Arten von Datentypen:
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
Mehr3. Die Programmiersprache Java
3. Die Programmiersprache Java 3.1 Arbeiten mit BlueJ 3.2 Objekte und Klassen 3.3 Klassen und Unterklassen 3.4 Daten und Operationen 3.5 Ausdrücke 3.6 Algorithmische Kernsprache 3.7 Sprachbeschreibung
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrHandbuch Homepage. Kontakt: Buchhandlung LDE Tel. : 07851/
Handbuch Homepage Kontakt: Buchhandlung LDE Tel. : 07851/48599-0 service@lde-online.net Sehr geehrte Nutzerinnen und Nutzer unserer Homepage, Dieses Handbuch für die Homepage der Buchhandlung LDE soll
Mehr7. Serienbriefe erstellen Das Prinzip des Seriendrucks MICROSOFT WORD Elemente des Seriendrucks
7. Serienbriefe erstellen 7.1. Das Prinzip des Seriendrucks Elemente des Seriendrucks Zur Erstellung eines Serienbriefs sind zwei Elemente notwendig: Hauptdokument mit gleichbleibendem Text und den sog.
MehrKennen, können, beherrschen lernen was gebraucht wird
Mit Tastenkombinationen im Text bewegen So gelangen Sie zum Textanfang / Textende Absatzweise nach oben / unten Bildschirmseite nach oben / unten zum Anfang der vorherigen / nächsten Seite S p S Y / S
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 10
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Übungsblatt Nr. 10 Aufgabe 20: Code Verständnis Löse diese Aufgabe selbständig als Vorbereitung zur Übung auf dem Papier. a) Gib
MehrErstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition
Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition Neues Projekt (Klassenbibliothek) erzeugen Als Projektbezeichnung wählte ich BeispielComAddIn. Add-In-Starter-Klasse erstellen Die
MehrÜbersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung
Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des
MehrAndroid will doch nur spielen. Java Übung
Android will doch nur spielen Java Übung Vorbereitung: Erstellen Sie mit Eclipse zunächst ein neues Java Projekt JavaUebungen. Lassen Sie die restlichen Einstellungen unverändert. Erzeugen Sie das Projekt
MehrBedienung von BlueJ. Klassenanzeige
Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument
Mehr1: Access starten und beenden
Schnelleinstieg in Access 1 In diesem Kapitel können Sie sich einen ersten Überblick über die Grundfunktionen von Access verschaffen. Sie erstellen eine Access- Datenbank mit einer einfachen Adressverwaltung.
MehrErstellen sicherer ASP.NET- Anwendungen
Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen
Mehr3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten
O Reillys Taschenbibliothek 3. Auflage C# 5.0 kurz & gut O REILLY Joseph Albahari & Ben Albahari Aktualisierung von Lars Schulten Inhalt C# 5.0 kurz & gut... 1 Ein erstes C#-Programm... 2 Syntax... 5 Typgrundlagen...
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden
MehrVisual Basic.NET. Grundlagen und Profiwissen. von Walter Doberenz, Thomas Kowalski. 1. Auflage
Visual Basic.NET Grundlagen und Profiwissen von Walter Doberenz, Thomas Kowalski 1. Auflage Visual Basic.NET Doberenz / Kowalski schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Hanser
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
MehrErstellen sicherer ASP.NET- Anwendungen
Erstellen sicherer ASP.NET- Anwendungen Authentifizierung, Autorisierung und sichere Kommunikation Auf der Orientierungsseite finden Sie einen Ausgangspunkt und eine vollständige Übersicht zum Erstellen
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrC#Objektorientierte. Aleksandra Maj. Programmiersprachen. Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars. 15.
C#Objektorientierte Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars Programmiersprachen 15.Juli 2004 Aleksandra Maj 1 1.Einleitung Kurze Geschichte und Ziele der neuen Programmiersprache
MehrInhaltsverzeichnis. Einleitung... 13
Inhaltsverzeichnis Einleitung...................................................... 13 Einführung 13 Wegweiser für Ein- und Umsteiger..................................... 13 Konventionen und Features in
Mehresms - sms senden & empfangen mit Outlook
esms - sms senden & empfangen mit Outlook Einrichten der SMS Terminerinnerung für Microsoft Outlook 2007/10 Inhalt Einleitung... 1 1 SMS Terminerinnerung einrichten... 2 1.1 Beim Service esms anmelden...
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrExceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero
Exceptions Prof. Dr. Margarita Esponda SS 2012 1 Ausnahmen Eine Ausnahme (Exception) ist ein Fehler oder ein nicht geplantes Ereignis, das während der Ausführung eines Programms vorkommt und dessen normalen
MehrGetName(), GetName(), GetGeschlecht() und AelterWerden().
11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer
MehrSqueak verwenden. Neues Projekt starten. Werkzeuge. Einführung in die objektorientierte Programmierung
Einführung in die objektorientierte Programmierung mit Squeak Teil 2 Squeak verwenden Image unter neuem Namen speichern und verwenden - immer ein intaktes Image zur Sicherheit verfügbar alle Änderungen
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrSchnellbausteine. Word Aufbau ZID/Dagmar Serb V.01/Jun2011
Schnellbausteine Word 2010 - Aufbau ZID/Dagmar Serb V.01/Jun2011 SCHNELLBAUSTEINE... 1 ORGANIZER FÜR SCHNELLBAUSTEINE... 1 SCHNELLBAUSTEINE ERSTELLEN... 2 Übung: Schnellbaustein erstellen... 2 SCHNELLBAUSTEINE
Mehrorgexterndoc31 Inhaltsverzeichnis Einleitung... 1 Installation... 3 Grundinstallation... 3 Installation pro Arbeitsplatz... 6 Lizenzierung... 7 Benutzung Einzeldokument... 9 1. Möglichkeit:... 9 2. Möglichkeit...
MehrC programmieren. Jürgen Wolf
C programmieren Jürgen Wolf Vorwort 11 Kapitel 1: Schnelleinstieg 13 Was sollten Sie bereits können? 14 Was lernen Sie mit diesem Buch? 14 Was benötigen Sie noch? 14 Überblick zu den einzelnen Kapiteln
MehrVIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden
VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
Mehr3 Maps richtig ablegen und
PROJEKT MindManager 2002 Intensiv 3 Maps richtig ablegen und speichern Ihre Map ist nun fertig gestellt wenn Sie jetzt Ihre Arbeit mit MindManager beenden, ohne die aktuellen Eingaben und Formatierungen
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
Mehr