für Java-Entwickler Sebastian Gepperth Seminar LaVida Wintersemester 2010/2011
|
|
- Victor Schumacher
- vor 7 Jahren
- Abrufe
Transkript
1 C# für Java-Entwickler Sebastian Gepperth Seminar LaVida Wintersemester 2010/2011
2 Gliederung Einleitung 1 Ähnlichkeiten und Unterschiede zu Java 2 Überblick über fortgeschrittene Features 3 CLR / Biblioteken 4 Fazit Sebastian Gepperth C# für Java-Entwickler 2
3 Einleitung Geschichte: entwickelt von Anders Hejlsberg bei Microsoft C# 1.0: Januar 2002 aktuelle Version: C# 4.0 : April 2010 C# ist inspiriert von Java: imperativ, objektorientiert und generisch starke Typisierung C-ähnliche Syntax managed Code, Virtual Machine, Garbage Collector Sebastian Gepperth C# für Java-Entwickler 3
4 Beispieldatei Ähnlichkeiten und Unterschiede zu Java grundlegende Syntax using System ; using Some. Lib ; // my awesome stuff namespace My. Stuff { public class MyClass { private int someint = 4; private string somestring ; public MyClass () { somestring = " foo "; /* multiline Comment */ public string returnfoo () { return somestring ; Sebastian Gepperth C# für Java-Entwickler 4
5 Ähnlichkeiten und Unterschiede zu Java Kompilationseinheiten Kompilationseinheiten Eine Kompilationseinheit (Datei) enthält: Using-Directiven (Paketimport) Namespace(s) Klasse(n) Felder Konstruktoren Methoden = Kompiliert zu einem Assembly (.dll) Sebastian Gepperth C# für Java-Entwickler 5
6 Ähnlichkeiten und Unterschiede zu Java Kompilationseinheiten Methoden positionale Parameter optionale Parameter benannte Parameter C# Methode public int foo ( int req, string optstr = " bar ", int optint = 42) { return req * optint ; // ///////////////////////////// foo (6, optint : 9); Sebastian Gepperth C# für Java-Entwickler 6
7 Ähnlichkeiten und Unterschiede zu Java Kompilationseinheiten Schleifen Schleifenvarianten: while do while for foreach Steuerbefehle: break continue foreach-schleife int [] array = {1,2,3,4; int sum = 0; foreach ( int i in array ) sum += i; Sebastian Gepperth C# für Java-Entwickler 7
8 Ähnlichkeiten und Unterschiede zu Java Kompilationseinheiten Sichtbarkeiten und Modifikatoren Zugriffsmodifikatoren: public private protected internal internal protected Instanzmodifikatoren: static const readonly Sebastian Gepperth C# für Java-Entwickler 8
9 Ähnlichkeiten und Unterschiede zu Java CTS - Common Type System Typsystem Sebastian Gepperth C# für Java-Entwickler 9
10 Ähnlichkeiten und Unterschiede zu Java Typsystem Werttypen / Value Types gespeichert im Stack oder in Objekten(als Attribut / Field) Call By Value instanziierbar durch Wertzuweisung eigene Typen möglich (erben von System.ValueType) nullable Types Sebastian Gepperth C# für Java-Entwickler 10
11 Ähnlichkeiten und Unterschiede zu Java Typsystem mitgelieferte Werttypen / Built-in Value Types C# alias CLR-Typ Bitbreite Bereich Javatyp sbyte SByte byte byte Byte short Int short ushort UInt int Int int uint UInt long Int long ulong UInt float Single 32-3,402823e38 3,402823e38 float double Double 64-1, e308 1, e308 double decimal Decimal 128 ±1, 0 10e28 ±7, 9 10e28 char Char 16 utf 8 char bool Boolean 8 true, false boolean IntPtr 32/64 plattformabhängig object Object Wurzel der Objekthierarchie Object string String unveränderbarer Unicodestring String Sebastian Gepperth C# für Java-Entwickler 11
12 Ähnlichkeiten und Unterschiede zu Java Typsystem Referenztypen, Enumerationen und Structs Referenztypen Call By Reference instanziierbar mit new Enumerationen Structs (Ada: Record) ValueType Attribute, Konstruktoren, Methoden keine Vererbung Sebastian Gepperth C# für Java-Entwickler 12
13 Ähnlichkeiten und Unterschiede zu Java Vererbung Vererbung Einfachvererbung von Klassen Mehrfachvererbung von Schnittstellen Abstrakte Klassen / Methoden (abstract) Versiegelte Klassen / Methoden (sealed) Vererbungsbeispiel public class MyClass : BaseClass, Interface { public MyClass ( some, parameters ) : base ( other, parameters ) { // do some constructing Sebastian Gepperth C# für Java-Entwickler 13
14 Polymorphismus Ähnlichkeiten und Unterschiede zu Java Vererbung Polymorphismus 1 public class A { public string ToString () { return "A"; public class B : A { public new string ToString () { return "B"; B b = new B (); A a = (A)b; b. ToString (); // returns "B" a. ToString (); // returns "A" Sebastian Gepperth C# für Java-Entwickler 14
15 Polymorphismus Ähnlichkeiten und Unterschiede zu Java Vererbung Polymorphismus 2 public class A { public virtual string ToString () { return "A"; public class B : A { public override string ToString () { return "B"; B b = new B (); A a = (A)b; b. ToString (); // returns "B" a. ToString (); // returns "B" Sebastian Gepperth C# für Java-Entwickler 15
16 Reified Generics Ähnlichkeiten und Unterschiede zu Java Generics kein Type Erasure, generische Information bleibt in der VM erhalten generische Realisierungen sind komplett eigene Klassen eigene statische Attribute benutzbar als Arraytypen generische Instantiierung public class GenericCreator <T > where T : new () { public T Create (){ return new T (); Sebastian Gepperth C# für Java-Entwickler 16
17 Ähnlichkeiten und Unterschiede zu Java Exceptions Fehlerbehandlung / Exception Handling Syntax: try catch finally throw (new) Nur unchecked Exceptions: Exceptions wandern durch den Stack bis gefangen keine Deklaration von geworfenen Exceptions an Methoden vorteilhaft wenn globaler Exceptionhandler existiert (GUIs) Sebastian Gepperth C# für Java-Entwickler 17
18 Ähnlichkeiten und Unterschiede zu Java Delegates Delegates typsichere Funktionsreferenzen Delegatebeispiel public delegate void Del ( string message ); // Create a method for a delegate. public static void DelegateMethod ( string message ) { System. Console. WriteLine ( message ); // Instantiate the delegate. Del handler = DelegateMethod ; // Call the delegate. handler (" Hello World " ); Vorteile: keine Interfaces nötig, welche nur eine Methode enthalten Sebastian Gepperth C# für Java-Entwickler 18
19 Ähnlichkeiten und Unterschiede zu Java Delegates anonyme Methoden und Events Eventregistrierung mittels anonymer Methode public class MyEventPublisher { public delegate void MyEventHandler ( string message ); public event MyEventHandler SomeEvent ; public void SomeMethod () { SomeEvent (" something happened!" ); // ///////////////////////////// publisher. SomeEvent += delegate ( string message ) { Console. WriteLine ( message ); ; Sebastian Gepperth C# für Java-Entwickler 19
20 Überblick über fortgeschrittene Features Properties Properties intuitive Getter und Setter public class PropertiesClass { private int foo ; public int Foo { get { return foo / 3; set { foo = value * 3; public int Bar { get ; private set ; // /////////////////////////////// propertiesinstance. Foo += propertiesinstance. Bar ; // In Java : propertiesinstance. setfoo ( propertiesinstance. getfoo () + propertiesinstance. getbar ()); Sebastian Gepperth C# für Java-Entwickler 20
21 Überblick über fortgeschrittene Features Indexer Indexer auf Objekte wie auf Arrays zugreifen public class IndexerClass { private int [] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ; public int this [ int i] { get { return arr [i ]; set { arr [ i] = value ; // ///////////////////////////////// indexerinstance [4] = propertiesinstance [3] * 5; Sebastian Gepperth C# für Java-Entwickler 21
22 yield Überblick über fortgeschrittene Features yield public static IEnumerable < ulong > Fibonacci () { yield return 0; yield return 1; ulong previous = 0, current = 1; while ( true ) { ulong next = checked ( previous + current ); yield return next ; previous = current ; current = next ; // //////////////////////////////////////////////// foreach ( ulong fib in Fibonacci ()) { Console. WriteLine ( fib ); Sebastian Gepperth C# für Java-Entwickler 22
23 var Überblick über fortgeschrittene Features var sehr lange Variablendeklaration MyExtraSuperVeryLongClassName < WithSomeGenerics > foo = new MyExtraSuperVeryLongClassName < WithSomeGenerics >(); foo. FirstCall (); foo. LastCall (); kürzer mit var var foo = new MyExtraSuperVeryLongClassName < WithSomeGenerics >(); foo. FirstCall (); foo. LastCall (); echter Typ wird zur Compilezeit ermittelt nur lokale Variablen Sebastian Gepperth C# für Java-Entwickler 23
24 Überblick über fortgeschrittene Features Operatorüberladung Operatorüberladung Beispiel anhand des komplexen Zahlentyps public struct Complex { public int r; public int i; public Complex ( int real, int imaginary ) { this. real = r; this. imaginary = i; public static Complex operator +( Complex c1, Complex c2 ) { return new Complex ( c1.r + c2.r, c1.i + c2.i ); public static implicit operator Complex ( PolarComplex po ) { // do the math return new Complex ( por, poi ); Sebastian Gepperth C# für Java-Entwickler 24
25 Überblick über fortgeschrittene Features Partielle Klassen Partielle Klassen Partielle Klasse anhand eines generierten SOAP Webservices public partial class MySoapService { // Lots of generated code here // ///////////////////////////////////// public partial class MySoapService { // write your own code here Vorteile / Anwendungen: Trennung von generiertem und selbst programmiertem Code Aufteilung von großen Klassen in kleinere Dateien Sebastian Gepperth C# für Java-Entwickler 25
26 Überblick über fortgeschrittene Features Extension Methods Extension Methods public static class MyExtensions { public static int WordCount ( this String str ) { return str. Split ( new char [] { ' ', '.', '?', StringSplitOptions. RemoveEmptyEntries ). Length ; // /////////////////////////////////////////////////// " Ich benutze Extension Methods ". WordCount (); // returns 4 Sebastian Gepperth C# für Java-Entwickler 26
27 Überblick über fortgeschrittene Features sonstige Features sonstige Features Reflektion Generic Covariance / Contravariance LINQ - Language Integrated Query dynamic - Late Bound Types XML - Kommentare Preprozessoren Pointer und unsafe P/Invoke Sebastian Gepperth C# für Java-Entwickler 27
28 CLR / Biblioteken CLR und Sprachbibliotek Common Language Runtime (Virtual Machine) CIL (Common Intermediate Language) : Stackbasierende Assemblersprache viele Sprachen unterstützt C#, Visual Basic, J#, C++/CLI, F#, IronPython, IronRuby, A#, Boo, L#, P#, Fortran.NET, JScript.NET usw. plattformunabhängig durch verschiedene Implementierungen Windows :.NET *nix: mono Standardbibliotek mit vielen Features (generische Kollektionen, Tupel, Math, Date etc.) Sebastian Gepperth C# für Java-Entwickler 28
29 Fazit Fazit große Ähnlichkeit mit Java und anderen Programmiersprachen dennoch viele kleine Verbesserungen macht coden leichter, schneller und intuitiver = Evolution Sebastian Gepperth C# für Java-Entwickler 29
30 Thank you! Questions?
Typsystem Plattform- und Sprachenunabhängigkeit in.net
Typsystem Plattform- und Sprachenunabhängigkeit in.net C# J# VB.NET Zwischencode CIL Windows Unix Auf welchen Grundlagen basiert dies? Komponenten & Frameworks Seite 1 Typsystem Grundlagen - CLR Common
MehrEinführung in die Programmiersprache C#
Einführung in die Programmiersprache C# C# Übersicht Einführung in das.net Framework Konzepte / Architektur Einführung in C#, speziell Unterschiede zu Java .NET: Framework, Sprachen und Werkzeuge .NET
MehrShort Introduction to C# C# (C SHARP) Microsofts Antwort auf Java
Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java Short Introduction to C# C# (C SHARP) Microsofts Antwort auf Java Standardisierung durch die ECMA und ISO Short Introduction to C# C# (C
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
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
Mehrim Rahmen des Seminars - Programmiersprachen Markus Nestvogel
C# im Rahmen des Seminars - Programmiersprachen Markus Nestvogel 2 Gliederung 1. Einführung 2. Microsoft.NET 3. C# 3 1 Einführung objektorientierte Programmiersprache für Microsoft.NET entwickelt Konkurrenz
MehrEinführung in C#.NET. 1 Übersicht. 2 Typen (Types) Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de)
Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) Einführung in C#.NET 1. Übersicht 2. Typen 3. Enumerationen (Enums) 4. Felder (Arrays) 5. Boxing & Unboxing 6. Overflow Checks
MehrSprachvergleich C# / Java / C++
Dieses Dokument vergleicht die Programmiersprachen C# in den Versionen 2.0 und 3.0 mit den Sprachen Java in der Version 6 und ANSI C++ ohne die jeweils vielfältigen Bibliotheken zu berücksichtigen. In
MehrEntwicklung der Programmiersprache C#
Language Day HDM 2015 Entwicklung der Programmiersprache C# Referent: Mikhail Orleanskiy, IT-Designers GmbH (orleanskiy@it-designers.de) Stand: 6. November 2015 Eine Präsentation der IT-Designers Gruppe
MehrGrundlagen von C# - 1
Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften
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...
MehrEinheitliches Typsystem
Typen 1 Einheitliches Typsystem Typen Werttypen Referenztypen Zeiger Einfache Typen Enums Structs Klassen Interfaces Arrays Delegates bool char sbyte short int long byte ushort uint ulong float double
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
Mehr~±] Inhalt. 1.1 Ähnlichkeiten zwischen C# und Java Unterschiede zwischen C# und Java Das.NET-Framework 4 1.
~±] 1 C# und das.net-framework 1 1.1 Ähnlichkeiten zwischen C# und Java 1 1.2 Unterschiede zwischen C# und Java 2 1.3 Das.NET-Framework 4 1.4 Übungsaufgaben 9 2 Erste Schritte 11 2.1 Hello World 11 2.2
MehrEinführung in C# Teil 1. Matthias Nübling
Einführung in C# Teil 1 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
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
MehrNeue Features in C# 2.0
Neue Features in C# 2.0 (gekürzt) Generische Typen Iteratoren Vereinfachte Delegate-Erzeugung Anonyme Methoden Partielle Klassen Sonstiges University of Linz, Institute for System Software, 2004 published
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrKapitel 3 Das Typsystem von C#
Kapitel 3 Das Typsystem von C# David J. Meder IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Eine virtuelle Maschine
MehrSyntax. int a; public A() {...} public void F() {...} }
Vererbung 1 Syntax class A { int a; public A() {... public void F() {... // Oberklasse class B : A { // Unterklasse (erbt von A, erweitert A) int b; public B() {... public void G() {... B erbt a und F(),
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
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
MehrBesonderheiten von C#
Besonderheiten von C# Wert- und Referenztypen int a, b; a = 3; b = a; a++; Debug.Assert( a==4 && b==3 &&!a.equals(b), "int ist doch kein Werttyp" ); RTyp ra, rb; ra = new RTyp(3); rb = ra; ra.inc(); Debug.Assert(
MehrKapitel 3 Das Typsystem von C#
Kapitel 3 Das Typsystem von C# Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Kurze Wiederholung
Mehr.Net Interoperabilität
.Net Interoperabilität Objektorientiertes Programmieren mit.net und C# Thomas Hörmann Institut für Informatik Software & Systems Engineering Agenda Einleitung P/Invoke Marshalling Component Object Model
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
MehrTeil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
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 C# 5.0 kurz & gut Joseph Albahari & Ben Albahari Deutsche Übersetzung
MehrZusammenfassung: Programmieren 2 (C#)
Zusammenfassung: Programmieren 2 (C#) Arrays Eindimensional int[] feld; feld = new int[2]; int[] feld2 = new int[3]; int[] feld3 = new int[] 1, 2, 3 ; //oder int[] feld4 = 1, 2, 3 ; int laenge = feld3.length;
MehrWie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?
Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen
MehrC# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 1: Grundlagen
C# Programmierung Eine Einführung in das.net Framework C# Programmierung - Tag 1: Grundlagen 1/27/2012 1 Vorstellung Kursleiter Florian Rappl 9 Jahre Erfahrung mit C# Ausbildung zum Fachinformatiker bei
MehrKlausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
MehrEinführung in C# (für Umsteiger)
Fachbereich Mathematik und Informatik Softwareprojekt: Spieleprogrammierung Einführung in C# (für Umsteiger) Do, Hoang Viet(do@mi.fu-berlin.de) Freie Universität Berlin, SoSe 2013 Agenda Allgemeines zu
MehrIch liebe Java && Ich liebe C# Rolf Borst
Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String
MehrC# anhand von ECMA-334. Das große Seminar WS 04/05. 07.12.2004 Daniel Wiese
C# anhand von ECMA-334 Das große Seminar WS 04/05 07.12.2004 Daniel Wiese Die Geschichte von C# Standard ECMA 334 Entwicklungsumgebung Sprachelemente von C# Datentypen Variablen und Parameter Ausdrücke
MehrTechnische Universität München. Einführung in C# Maximilian Irlbeck. Lehrstuhl für Software & Systems Engineering 22. Oktober 2010
Einführung in C# Maximilian Irlbeck Lehrstuhl für Software & Systems Engineering 22. Oktober 2010 Inhalt 1. Grundlagen Historie Allgemeine Infos zu C# 2. Sprachdesign 3. Sprachfeatures/-syntax 22.10.2010
MehrAusdrücke in Scala. Funktionale Programmierung. Christoph Knabe FB VI
Ausdrücke in Scala Funktionale Programmierung Christoph Knabe FB VI 17.10.2014 Inhalt Einfache Ausdrücke Infix-Notation für Methodenaufruf Sonderzeichen in Bezeichnern Schlüsselwörter Konstanten Variablen
MehrEinführung in C# Teil 3. Matthias Nübling
Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrProgrammierung für Mathematik HS11
software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren
MehrGrundlagen der OO- Programmierung in C#
Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3
MehrVorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3
Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
Mehr4.7.1 Intellisense... 42 4.7.2 Code Expansion... 43 4.7.3 Code Snippets... 43 4.7.4 Schriftgröße... 44 4.7.5 Event Handler... 44 4.7.
Inhalt 1 Einleitung... 11 1.1 An wen richtet sich das Buch?... 11 1.2 Ziel... 11 1.3 1 = 2... 11 1.4 Voraussetzungen... 11 1.5 Was decken die einzelnen Kapitel ab?... 12 1.6 Was nicht enthalten ist...
MehrVariablen und Parameter
D3kjd3Di38lk323nnm Variablen und Parameter Eine Variable repräsentiert einen Speicherbereich, der einen veränderbaren Wert enthält. Eine Variable kann eine lokale Variable, ein Parameter (value, ref oder
MehrStack stack = new Stack(); stack.push ("Würstchen"); string s = (string) stack.pop(); Console.WriteLine (s);
D3kjd3Di38lk323nnm Der Typ object object (System.Object) ist die Ausgangsbasisklasse für alle Typen. Jeder Typ kann per Upcast in ein object umgewandelt werden. Um zu zeigen, wie das nützlich sein kann,
MehrC++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!
Hello world! Java class HelloWorld { static public void main(string args) { System.out.println("Hello World!"); } } C #include main() { printf("hello World!\n"); } C++ #include using
MehrGrundlagen der Informatik 0
Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg
MehrII.4.4 Exceptions - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.4 Exceptions - 1 - Ausnahmen (Exceptions)
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
Mehr(im Vergleich zu Java) IFC-Seminar 02.07.2001. Jan Kraneis jkraneis@informatik.uni-osnabrueck.de
1 C# (im Vergleich zu Java) IFC-Seminar 02.07.2001 Jan Kraneis jkraneis@informatik.uni-osnabrueck.de 2 1 Was ist C# 1.1 Die Definition von Microsoft: C# is a simple, modern, object oriented, and type-safe
MehrProgrammieren in Java
Programmieren in Java Vorlesung 05: Generics Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 19 Inhalt Generics
MehrInformatik II Übung 6
Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,
MehrInformatik II. Woche 10, Giuseppe Accaputo
Informatik II Woche 10, 09.03.2017 Giuseppe Accaputo g@accaputo.ch 1 Nachbesprechung: Übung 2 2 Übung 2: Abgaben Habe von allen Abgaben erhalten! Kompliment an euch alle! 3 Tests laufen lassen vor Submit
MehrII.4.4 Exceptions - 1 -
n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen
MehrInhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
MehrUrsprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
MehrExceptions und Vererbung
Exceptions und Vererbung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter 2. Exceptions Eigene Exceptions Handling
Mehr2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren...
Datei: 5220_A02Inhalt.doc, Seite3 15. September 2010 Teil I Erste Schritte 1 Einleitung.... 9 1.1 Was Sie erwartet und was Sie nicht erwartet.... 9 1.2 Wie die Kapitel aufgebaut sind.... 10 1.3 Beispieldateien....
MehrFragenkatalog ESOP WS 16/17
Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind
Mehr12. Java Klassen. Klassen - Technisch. Beispiel: Erdbebendaten. Klassen - Konzeptuell
Klassen - Technisch Eine Klasse ist eine Einheit mit einem Namen, die Daten und Funktionalität beinhaltet 12. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, Kapselung,
MehrDie Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
MehrTag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrSchwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen
Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung
MehrPraxis der Programmierung
Template-Funktionen und -Klassen Einführung in Java Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Template-Funktionen 2 Minimumfunktion und offene Typen Aufruf
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrGrundlagen der Programmierung in C Klassen
Grundlagen der Programmierung in C Klassen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple address pointer reference structured integral
MehrOMSI / Teil 1 / C++ Andreas Blunk. 5. April 2006, Berlin
OMSI / Teil 1 / C++ Andreas Blunk 5. April 2006, Berlin Zusammenfassung Dieses Dokument ist eine Ergänzung zu den Folien von C++ aus dem 1. Teil der Vorlesung Objektorientierte Modellierung, Spezifikation
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
MehrGliederung der Folien
1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrKapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
MehrProgrammiermethodik 3. Klausur Lösung
Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung
Mehr13. Java Klassen. Lernziele. Klassen - Technisch. Definition: Klassen
Lernziele Sie können eigene Klassen/Datentypen erstellen. Sie verstehen, wie Objekte von Klassen instanziert und verwendet werden. Sie kennen den Begriff der Datenkapselung und können dies anwenden. 13.
MehrGrundlagen von JAVA Hello World in JAVA Elementare Datentypen. Grundlagen von JAVA Hello World in JAVA Elementare Datentypen
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 24 Grundlagen von JAVA Hello World in JAVA Elementare Datentypen 2 / 24 Eigenschaften von JAVA Plattform-und Betriebssystem-unabhängig
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
MehrEinführung in C. EDV1-04C-Einführung 1
Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags
MehrGrundlagen von JAVA Hello World in JAVA Elementare Datentypen. Grundlagen von JAVA Hello World in JAVA Elementare Datentypen
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 24 Grundlagen von JAVA Hello World in JAVA Elementare Datentypen 2 / 24 Eigenschaften von JAVA Plattform-und Betriebssystem-unabhängig
MehrTHE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic
THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden
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
MehrGenerisches Programmieren. Generisches Programmieren
Generisches Programmieren Generisches Programmieren 24.11.11 Uli Dormann 1 Inhaltsverzeichnis Motivation Ansatz Sprachen mit generischer Programmierung Generische Klassen Namenskonvention Prüfung Typsicherheit
MehrC# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 2: Einstieg in die OOP
C# Programmierung Eine Einführung in das.net Framework C# Programmierung - Tag 2: Einstieg in die OOP 1/27/2012 1 Di Datentypen Arrays Operatoren Parameter Überladen Heap / Stack Klassen (un)boxing Tag
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
Mehr2.4 Datenabstraktion und Objektorientierung Datenabstraktion in Programmiersprachen
2.4 Datenabstraktion und Objektorientierung 2.4.1 Datenabstraktion in Programmiersprachen Datenabstraktion: zur Beherrschung von Komplexität unerlässlich. In jeder Programmiersprache kann man gemäß den
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrJava - Programmierung - Prozedurale Programmierung 1
Java - Programmierung - Prozedurale Programmierung 1 // elementare Datentypen public class el_dt public static void main(string args []) byte b = 127; short s = 32767; int i = 2147483647; long l = 9223372036854775807L,
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrThomas Sillmann. Swift im Detail HANSER
Thomas Sillmann Swift im Detail HANSER Inhalt 1 Apples neue Programmiersprache: Swift 1 1.1 Willkommen bei Swift! 1 1.2 Warum Swift? 1 1.3 Swift und Objective-C 2 1.4 Voraussetzungen für die Swift-Entwicklung
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
Mehr4.7 Code Editor Intellisense Code Expansion Code Snippets Schriftgröße Event Handler...
Inhalt 1 Einleitung... 11 1.1 An wen richtet sich das Buch?... 11 1.2 Ziel... 11 1.3 1 = 2... 11 1.4 Voraussetzungen... 11 1.5 Was decken die einzelnen Kapitel ab?... 12 1.6 Was nicht enthalten ist...
MehrEinleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders
Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 13. März 2017 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:
MehrGui & Widgets. GUI & Widgets, Events GUI? Als GUI (= Graphical User Interface ) bezeichnet man die
GUI & Widgets, Events Einführung in C# GUI 3 Übersicht Gui & Widgets Events Kurze Einführung in C# GUI? Als GUI (= Graphical User Interface ) bezeichnet man die grafische Benutzungsschnittstelle oder auch
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
Mehr