26.07.2013 Views

Operativsystem: .............................................................

Operativsystem: .............................................................

Operativsystem: .............................................................

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2. Opret en telefonliste og serialiser den som en *.dat fil<br />

3. Skriv et program som deserialiserer fra huse.xml som ligger på adressen:<br />

http://csharpkursus.subnet.dk/huse.xml (Desværre kan man ikke i dette tilfælde direkte<br />

deserialisere fra internet adressen – man bliver nødt til først at downloade filen!).<br />

.NET eller DotNet – Hvad er det egentligt?<br />

Efter at vi foreløbigt har set eksempler på objekt orienteret programmering vil vi i dette afsnit se<br />

mere detaljeret på hvad Microsoft .NET eller ’DotNet’ egentligt er for en størrelse.<br />

Vi vil ikke her gå ned i hver eneste detalje, men se på så mange træk i .NET at man får en vis<br />

grundlæggende forståelse for denne ’arkitektur’.<br />

Helt overordnet består DotNet af: CLR - en Common Language Runtime (som muliggør at<br />

forskellige sprogs programmer kan køre – fx C# eller Visual Basic) - en samling af basisklasser<br />

(flere end 1000 i alt), en definition af fælles typer (int, float, char …) i Common Type System<br />

(CTS) og en definition af minimums krav til alle de sprog som vil programmere til .NET nemlig<br />

Common Language Specification (CLS). Nogle af de ting som fx er OK i C# er ikke OK ifølge<br />

CLS. Hvis jeg ønsker at fastholde at min kode skal holde sig til det fælles minimum kan jeg forsyne<br />

min kode med en attribut således:<br />

[CLSCompliant]<br />

public class X{}<br />

DotNet er populært sagt ligeglad med hvad programmer i forskellige sprog som Visual Basic eller<br />

JScript laver internt hvis de blot eksternt overholder bestemte krav. Som i objektorienteret<br />

programmering opfattes klassen som en ’black box’!<br />

NB C# har IKKE sit eget klasse bibliotek, men bruger direkte basisklasserne (BCL) i .NET.<br />

C# er decideret designet til at fungere sammen med .NET.<br />

DotNet består helt centralt af 2 DLL filer: mscorlib.dll som rummer alle de centrale klasser og<br />

metoder og mscoree.dll som er den ’exe-maskine’ (.NET execution engine) som afvikler<br />

programmet i .NET.<br />

Ideen med .NET ligner ideen bag sproget Java som opstod i midten af 1990’erne. Et Java program<br />

skrives som en tekstfil (lige som et C# program) og kompileres af en Java kompiler.<br />

Resultatet af Java kompileringen er en såkaldt byte kode. En fil ’Mitprogram.java’ kompileres til<br />

en byte kode ’Mitprogram.class’. Denne class fil kan ikke uden videre køre fx på en Windows<br />

maskine, men skal oversættes en gang til ’native’ kode som Windows kan forstå. Men det gode ved<br />

Java løsningen er, at den samme Java kode kan køre på alle operativ systemer og alle processorer<br />

(CPU’er). Det er altså muligt at skrive eet program som kan køre på en Windows 98, Mac eller en<br />

Linux maskine!<br />

Forudsætningen er at den pågældende maskine har installeret ’Java Virtual Machine’ som er et lag<br />

som lægges oven på maskinens operativ system (styre system).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!