Programmering II C#, ID1304.

Slides:



Advertisements
Liknande presentationer
Utveckla en applikation Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Advertisements

Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Avlusning Debugger (”avlusare”) Breakpoints Watch.
API skillnader EPiServer 7 - CMS6R2 Uppgradering från CMS6R2
Föreläsning 7, Kapitel 7 Designa klasser Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Access med Sebastian och Robert
Prestandaanalys av JavaScript
Ellära Fysik 1 / A Översiktlig beskrivning av en del av innehållet i Ellära – Fysik A För djupare studier hänvisar jag till kurslitteratur som finns.
GEPOC / GEODOS från VIKER DATA AB
Uppgradera till Visual Basic.NET Per Ahlberg Johan Lindfors.
”Ett sätt att distribuera Business Objects via webben”
Sweden SharePoint User Group WictorWilén
Klassarv och inkapsling
Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering Kursens hemsida Studentportalen.
Kurslitteraturen består av 11 kapitel som var och en belyser olika delar av automatiseringstekniken. De utgör fristående delar men har en gemensam röd.
Arv.
Abstract & sealed.
Objektorienterad tänkande
Polymorfism.
Välkommen Vahid Mosavat
Programmeringsteknik K och Media
Att programmera i språket Java
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
OOP Objekt-orienterad programmering
Stöd för haptisk hårdvara i en spelmotor
En PowerPoint om PowerPoint
EN KOMPLETT INDUSTRIPARTNER ! ALLMÄNT OM MELSEC STYRSYSTEM.
Föreläsning 13 Polymorfism, Paket och JAR-filer. Polymorfism Ordet härstammar från grekiskan Poly – många Morf – form Polymorf – många former Någonting.
Programmering B PHP Lektion 2
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Visual Studio 2005 Patrik Löwendahl, SweNUG, Cornerstone Johan Lindfors.
Programmering B PHP Lektion 2
Programmering B PHP Lektion 3
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Introduktion till DITA
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Ingen vet vad han klarar innan han har försökt. ” - Publilius Syrus (85 f.Kr.-43 f.Kr.).
Styrteknik: Programmering med MELSEC IL PLC2A:1
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ”Den enda verkliga utbildningen får man av det som går en emot.” André Gide ( )
1. En infrastruktur för programutveckling
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
Utveckling med ramverket .net
MV500B: Introduktion till interaktiv ljuddesign David Yanagisawa, Anders-Petter Andersson 4.5 högskolepoängLektion 3.
Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen.
Java servlets och databaskopplingar
Välkommen till Sommarkollo Windows Presentation Foundation och Expression Blend Robert FolkessonJohan Lindfors
Introduktion till forskningsområde Lars Bruce Distributed Systems Laboratory.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Per Ahlberg Developer Evangelist, DPE Microsoft AB
Java paket och jar-filer
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
INTRODUKTION TILL PROGRAMMERING
Microsoft Visual Studio och.NET Framework, idag och imorgon! Robert Folkesson
Fluidsimulering med Smoothed-particle Hydrodynamics Martin Persson Mattias Persson Robert Novo Johannes Ullström.
Välkomna Per Ahlberg Johan Lindfors. Hur kan vi bli bättre...  Era utvärderingar är viktiga!  Betygsätt innehåll, talare, relevans  Kommentera gärna.
SSCLI (Rotor) - Shared Source Common Language Infrastructure Johan Lindfors Microsoft.
Rikare webb med AJAX, Microsoft Silverlight, WPF och Expression Studio Robert Folkesson
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Oavsett om du tror att du kan, eller om du tror att du inte kan, har du helt rätt. ” -
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ”Google is your friend”
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Programmering i C# Laborationer.
Föreläsning 2 2D1312 Introduktion till Python Kap 1 och 2 i kursboken.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 2 ( )‏ Innehåll:Trådar: - Avbrott (”interrupts”)‏ - Metoden join()‏ Högnivå objekt för.
Föreläsning 1 Introduktion till kursen. Algoritmer
OOP&M - teori1 OOP&M – Föreläsning 3 kap 2-4 Repetition Föreläsning-datayper-syntax-tilldelning.
Programmering i.NET Farid Naisan, Universitetsadjunkt Datavetenskap, Teknik och samhälle, Malmö högskola Assembly.
Föreläsningsanteckningar Kortfattat om programmeringsmetodik Ola Ågren Hur det går till att göra ett program.
1-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-1 Programmering 7.5 hp Programmering är... creativ, fascinerande, roligt,
 Object-Relational mapping  (aka O/RM, ORM, and O/R mapping)  Mappning av objekt och dess relationer till/från en relationsdatabas.
Presentationens avskrift:

Programmering II C#, ID1304

Vilka är lärarna? Michel Kaireus Mats Skoglund Föreläsare/Kursansvarig michel@kth.se 08-161697 Mats Skoglund Föreläsare matte@dsv.su.se

Vad omfattar kursen? Huvudsakligen tre block Arv, Avancerad C# syntax Flertrådad programmering Fönsterprogrammering Men även nätverkskommunikation Socket

Dagens agenda Idag kommer vi prata om: KursPM De tre övergripande blocken Arv Flertrådad programmering Fönsterprogrammering .Net Framework

Genomgång av kursPM

Kursen i korthet

Arv Ärva funktionalitet från en annan klass Fördelar: Nackdelar Ökar återanvändning av kod Bidrar ofta till bättre design Nackdelar Ökar komplexiteten

Flertrådad programmering En tråd är en exekveringspunkt som utför programinstruktionerna rad för rad De flesta program har bara en tråd De flesta spel har flera trådar (vilket inte betyder att alla flertrådade program är spel)

Flertrådad programmering- Demonstration

Fönsterprogrammering De grundläggande kontrollerna (knappar, textrutor, kryssrutor etc) Händelsehantering Avancerade kontroller (dialogrutor, tabeller, menyer etc)

Fönsterprogrammering- Demonstration

.NET Framework

.NET Framework Operating System Common Language Runtime Base Class Library ADO .NET and XML ASP .NET Web Forms Web Services ASP.NET Mobile Controls Windows Forms Common Language Specification VB C++ C# J# … Visual Studio .NET

.NET Framework .NET Framework är i grund och botten ett klassbibliotek med ca 4000 klasser, uppbyggt hierarkiskt och uppdelat i s.k. namnrymder eller namespaces. På toppen av .NET Framework levereras 4 programmeringsspråk VB.NET C++ C# J# … VB.NET som är en ny version av VB med bl.a. stöd för arv, multitrådning och felhantering med Try-Catch C++ har stöd för managed extensions för att använda klasserna i .NET Framework C# är det första komponentorient-erade språket i C/C++ familjen med stöd för properties, metoder, events och attribut J# ett java språk som stödjer JDK och är framför allt ett sätt för de utvecklare som använt tidigare java produkt VJ++ att migrera sina applikationer och förstås för javautvecklare att prova på .NET Framework Det finns fler språk att använda till .NET Framework. Närmare bestämt mer än 20 st

Common Language Specification .NET Framework Programspråksleverantörer stödjer .NET. Grunden för detta ligger i något som heter Common Language Specifikation. Detta är en specifikation som framförallt beskriver det s.k. gemensamma typsystemet som används i .NET Framework. VB C++ C# J# … Common Language Specification

Common Language Specification .NET Framework En annan central del i ramverket är stödet för WebServices, som alltså är helt integrerat. WebForms är till för att bygga webbapplikationer och WinForms för att bygga Windowsapplikationer. WebForms tillsammans med WebServices kallar vi gemensamt för ASP.NET. VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services (ASP.NET ) Windows Forms

Common Language Specification .NET Framework Operationer mot olika typer av datakällor är numera XML baserade och ADO har blivit ersatt av en ny modell som heter ADO.NET. VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services (ASP.NET) Windows Forms ADO .NET and XML

Common Language Specification .NET Framework Basklasserna innehåller just basfunktionalitet såsom t.ex. filhantering, kollektioner, trådhantering, reflection osv. VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services ASP.NET Mobile Controls Windows Forms ADO .NET and XML Base Class Library

Base Class Library Basklasserna består av ett antal generella klasser: IO för olika typer av filhantering Threading för att skapa multitrådade applikationer Globalization för att skapa applikationer som är lands och språkoberoende Reflection ger möjligheten att i runtime inspektera en assembly för att kunna dra nytta av de typer som finns i den

Common Language Specification .NET Framework Grundstenen i ramverket utgörs av Common Language Runtime. Den ansvarar i huvudsak för laddning och exekvering av så kallade assemblies. VB C++ C# J# … Common Language Specification ASP .NET Web Forms Web Services ASP.NET Mobile Controls Windows Forms ADO .NET and XML Base Class Library Common Language Runtime

Common Language Runtime, CLR CLR'n har också inbyggd minnehantering eller så kallad garbage collection för att hantera frigörning av minnesresurser. Detta innebär att utvecklare kan allokera objekt utan att behöva fundera så mycket på att frigöra dom. CLR’n är även ansvarig bland annat för säkerhets- och trådhantering, laddning av nödvändiga klassbibliotek och debuging.

.NET Magic När källkoden är färdigt skriven så kompileras den med lämpligt kompilator till ett mellanformat som kallas Microsoft Intermidiate Language (MSIL) MSIL är processor-oberoende uppsättning av instruktioner som kan på ett effektivt sätt konverteras till native kod / maskin kod. MSIL kod är språk oberoende kod.

.NET Magic Class Loader länkar ihop MSIL-koderna. CLR laddar sedan IL-kod med hjälp av Class Loader och överlämna det till JIT-kompilatorn för att transformera det till native kod. Men precis innan Class Loader överlämna koden till JIT-kompilatorn laddas de nödvändiga klassbibliotek. CLR ansvarar för exekvering av koden