Was wird unter dem Begriff “Objektorientierung” verstanden ?
Denkansatz (an die menschliche Denkstruktur angepasst - Unterschied zur klassischen strukturierten Programmierung)
Menge von über Nachrichten kooperierenden Objekten
Zusammenfassung von Daten und Funktionalitäten
Kapseln den Zugriff auf die erhaltenen Daten hinter
Erläutern Sie die Begriffe Datenkapselung, Polymorphie und Vererbung ?
Datenkapselung: Verbergen der inneren Struktur eines Objekts
Polymorphie (Vielgestaltigkeit): eine gleichnamige Methode kann auf unterschiedliche Objekte angewendet werden.
Vererbung: Objektklassen können als Basis für andere Klassen dienen; die abgeleiteten Klassen „erben“ die Elemente der Ursprungsklasse
Erläutern Sie den Begriff <Vererbung> anhand eines C# Sourcecode-Beispiels
in C# —> initiiert über Doppelpunkt, Beispiel:
class PKW: Fahrzeug
Aber: keine Mehrfachvererbung möglich !
Beschreiben Sie die Begriffe “Klasse” und “Objekt”. Finden Sie hierzu ein Beispiel und erläutern Sie dieses in C# - Notation.
Klasse - definieren die Eigenschaften, Methoden und Ereignisse eines Objekts, Bauplan für konkrete Objekte
Objekt - Nimmt Eigenschaftswerte an, Verändert etwas oder wird verändert, Muss durch Eigenschaftswerte eindeutig erkennbar sein
class operation { code...}
ObjektMensch Mensch() = new ObjektMensch;
Welche Bedingung muss für das Erzeugen eines Objektes gegeben sein ?
Bedingung: eine Klasse existiert !!
Welche Sichtbarkeiten von Klassen, Methoden und Eigenschaften sind Ihnen bekannt? Was bedeuten diese?
Public - unbeschränkt
Protected – innerhalb der Klasse und der daraus abgeleiteten Klassen
Internal – innerhalb des aktuellen Projekts
Internal protected – innerhalb des aktuellen Projekts oder der abgeleiteten Klasse
Private – nur innerhalb der Klasse
Welche Sichtbarkeit muss angewandt werden, wenn Methoden über ihre Implementierungsklasse hinaus nutzbar sein sollen ? Welches wichtige Konzept der Objektorientierung soll damit unterstützt werden ?
Internal / internal protected oder höher.
Wie sind Methoden aufgebaut? Welche Möglichkeiten haben Sie kennengelernt?
Methodenkopf – Aufruf einer Methode, Schnittstelle zum Benutzer
Methodenrumpf – wird durch geschweifte Klammern begrenzt, innerhalb der Klammern stehen die Anweisungen (Implementierung)
Methoden mit und ohne Rückgabewert
Wie kann auf Methoden und wie auf Eigenschaften einer Klasse zugegriffen werden ?
Klasse – über get, bearbeiten über set
Methode - Mit Namen aufgerufen
<classname>.<methodenname(Methodenparameter)
Wenn Parameterliste nicht leer —> in runden Klammern Werte für Parameter übergeben (müssen dem deklarierten im Kopf entsprechen)
Wenn Methode Rückgabewert —> kann in einer Variable gespeichert werden
Beispiel: mEingabe = Eingabe () —> Aufruf der Methode
Ausgabe (zahl,mEingabe) —> Aufruf und Parameterübergabe
Was sind Member-Variablen einer Klasse und wo werden diese definiert ? Welches Konzept wird durch das nutzen des private-Zugriffsmodifikators unterstützt ?
Für Membervariablen gilt wie für Memberfunktionen, dass sie innerhalb der Klasse nur mit ihrem Namen angesprochen werden, von außerhalb mit dem Namen der Instanz qualifiziert werden müssen. Werden im Konstruktor definiert. Mehr Sicherheit durch private
Was ist der wichtigste Unterschied zwischen einer Methode und einer Schnittstelle ?
Eine Methode ist eine ausführbare Funktion innerhalb einer Klasse, während eine Schnittstelle eine abstrakte Sammlung von Methodensignaturen ist, die von Klassen implementiert werden müssen, um bestimmte Funktionalitäten zu garantieren.
Welche Funktion hat der Konstruktor einer Klasse ? Wie viele darf es geben ? Erläutern Sie dieses anhand eines einfachen Beispiels in C#-Notation (Übung 2/3 ! KPI_Menu o.ä.)
Es darf nur einen Konstruktor geben. Zuständig für die korrekte Initialisierung der Datentypen der Klasse.
Class Peter{
Private Peter{
Int alter = 0;
}
Beschreiben Sie den Lebenszyklus eines Objektes anhand eines Beispiels in C#.
Referenzierung–Objektvariable definieren, weist noch auf den Wert0
CKunde kunde1 ;
Instanziierung – Objektvariable zeigt auf einen konkreten Wert kunde1 = new CKunde () ;
Initialisierung – Datenfelder der Objektvariablen werden gefüllt kunde1.anrede = „Frau”;
Arbeiten mit dem Objekt – es wird auf Eigenschaften und Methoden des Objekts zugegriffen
label1.Text = kunde1.adresse();
Zerstören – Objekt wird dereferenziert , der belegte Speicherplatz wird wieder freigegeben
kunde1 = null;
Was wird unter ASP.NET verstanden, was unter ADO.NET ? Ordnen Sie diese beiden im Architekturschaubild zu !
ASP.NET:
ASP.NET (Active Server Pages .NET) ist ein Web Application Framework von Microsoft, mit dem sich dynamische Webseiten, Webawnendungen und Webservices entwickeln lassen (Teil von .NET-Framework)
ADO.NET:
Teil der von Microsoft entwickelten .NET-Plattform (unter .NET Basisklasse). Es handelt sich um eine Sammlung von Klassen, die den Zugriff auf relationale Datenbanken (z.B. SQL, OLEDB) gewährleisten. Arbeitet die meiste Zeit verbindungslos (verbindet sich nur kurz bei einer Aktion und trennt die Verbindung weiter —> ressourcensparend
Erläutern Sie die Unterschiede von statischen und dynamischen Webseiten
Statische Website:
Alle Seiten einer Website werden als bereits fertige Dateien (inkl. Layout usw.) auf dem Webserver gespeichert und der Client greift auf diese direkt zu (keine Verbindung zur Datenbank) Sehr zeitintensiv bei Erstellung und Änderungen.
Dynamische Website:
Werden in Echtzeit (JIT) generiert und dem Client angezeigt, sind also bereits vorher festverankert, sondern werden erst bei Zugriff aus den Datenbanken gelesen. Sinnvoll bei Webseiten mit immer aktuellen Informationen (z.B. Börse, Wetter, Formulare)
Welche Formen bezüglich des Einsatzes von Programmiersprachen für dynamische Programmiersprachen haben Sie kennengelernt ? Beschreiben Sie diese bitte anhand einer Skizze. Welches sind die Vor- und Nachteile dieser Formen ?
Clientseitige Programmierung:
BrowserenthältAusführungsmaschinefürSkripte,SkriptistTeilderAntwortvomServer, Web-Server muss Skriptsprache nicht kennen (z. B. JavaScript, VBScript)
Vorteile: Programm läuft im einfachen Webbrowser (muss aber die entsprechende Skriptsprache kennen); hardwareunabhängig (PC, Smartphone usw.); schnelle Bearbeitung, da Ausführung direkt auf Client; Zugriff auf eigene Daten überall möglich; Multiuser- und netzwerkfähige Anwendungen (Internet, Intranet), gleichzeitiges Arbeiten ohne dass der Webserver belastet wird
Nachteile = Vorteile des Anderen
Serverseitige Programmierung (.NET):
Web-Server enthält Ausführungsmaschine für Skripte, Skript wird vor Beantwortung der Anfrage ausgeführt und liefert HTML-Text, Browser muss Skriptsprache nicht kennen (z.B. ASP, Java, PHP, Perl)
Vorteile: Anwendung auf zentrale Applikation Server leichter wartbar; Realisierung von Verteilung, Transaktionsmanagement; sinnvoll bei Datenbankanwendung; Sicherheit, Skalierung, Load Balancing, Ausfallsicherung möglich
Welche Form implementiert hier .NET ? Welche Sie in der Übung 4 zur Anwendung gebracht ?
Serverseitige Programmierung
Serverseitige Interaktion mit Datenbank und Datenabfrage mit weiterleitung an den Benutzer/Client
Wie kann der Zugriff auf MySQL-Datenbanken erfolgen ? Erläutern Sie den prinzipiellen Ablauf in C# und erklären Sie das Vorgehen kurz.
Verbindung auf- und abbauen
MySqlConnection con = new MySqlConnection(...);
// Öffnen der Verbindung con.Open();
// Hier können Anfragen gestellt werden
...
// Schließen der Verbindung
con.Close();
Aus welchen beiden grundlegenden Konzepten der Verarbeitung besteht ADO?
Objektorientierte Programmierung + Webserving + andere Server
Wie erfolgt der allgemeine ADO-Datenbankzugriff mit dem MySql-Connector ? Erklären Sie dieses Vorgehen anhand eines Beispiels
Namespaces deklarieren
Verbindung zur Datenbank herstellen
Datenbankverbindungsobjekt deklarieren (z.B. —> MySqlConnection conmysql)
Verbindungsstring generieren mit:
Angaben des Servers: SERVER = “inf2.f4.htw-berlin.de”;
Angabe der Datenbank: DATABASE : =„“;
Angabe des Users : UID =„“;
Angabe des PassWD : Password = „meinPassword“;
Objekt instanziieren und Öffnen der Datenbankverbindung—>
conmysql = new MySqlConnection(connectionstring);
conmysql.Open();
Anfrage stellen, d.h. Absetzen eines SQL-Befehls an die Datenbank —> Es gibt 2 prinzipielle Abfragen:
Execute Reader —> Auswahlabfragen: z.B. Select * From Materialstamm-Rückgabe des Abfrageergebnis auf MySqlDataReader
ExecuteNonQuery () Aktionsabfragen: z.B. Insert, Update, Delete ...
Rückgabe der Zeilen, die verändert, eingefügt oder gelöscht wurden
Auswerten des SQL-Befehls, bei Auswahlabfragen Reader auslesen, schließen des Readers
—> .close()
Verbindung zur Datenbank schließen: .close()
try and catch bei Datenbankzugriffen nicht vergessen
Welche prinzipiellen Möglichkeiten der SQL-Abfragen (Selektion, Manipulation) lassen sich umsetzen ?
Welche prinzipiellen Abfragemöglichkeiten (reader !) an die Datenbank gibt es ?
Alle, welche auch mit normalen SQL Befehlen umsetzbar sind.
Grundsätzlich alle QUERY und LIST abfragen.
Was versteckt sich hinter dem Begriff HTML5 ?
HTML 5 ist die fünfte Fassung der Hypertext Markup, einer Computersprachen zur Auszeichnung und Vernetzung von Texten und anderen Inhalten elektronischer Dokumente, vorwiegend im World Wide Web.
Last changeda year ago