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.

}<br />

}<br />

mem.Close();<br />

NB Det første eksempel: NetworkStream forudsætter at man har installeret en server på sin<br />

egen maskine så at localhost kan kaldes. I stedet kunne være valgt en internetadresse!<br />

Som det ses kan man komme langt med de samme få metoder i helt forskellige sammenhænge<br />

som at gemme i RAM, skrive til en fil eller sende en request til en server!<br />

Der er ikke nogen principiel forskel på at sende bits og bytes til en fysisk fil, til en række RAM<br />

adresser eller til en adresse på Internettet! Det afgørende er, at C# programmet skriver/sender<br />

en række af bytes. Adressen er forsåvidt underordnet! At sende bytes til skærmen eller<br />

konsollen er egentligt også det samme – derfor bruges også de samme metoder som f.eks.<br />

Console.Write()!<br />

Hver af Stream klasserne har dog sine egne specielle metoder der gør det nemmere at arbejde<br />

med klassen. Her har vi dog koncentreret os om de fælles metoder som går tilbage til super<br />

klassen System.IO.Stream.<br />

Det ses også at en Stream ikke altid oprettes på samme måde.<br />

Vigtigt for alle Streams er at de bliver lukket igen med Close()!<br />

Vi skal siden vende tilbage til Streams på netværk.<br />

Abstrakte klasser:<br />

En abstrakt klasse er en klasse som ikke kan instantieres. Vi har just set et eksempel på en abstrakt<br />

klasse nemlig System.IO.Stream. Interfaces (se næste afsnit) og abstrakte klasser ligger tæt på<br />

hinanden i anvendelsesområde.<br />

Abstrakte klasser bruges også i C# til at etablere ’globale konstanter’ som i dette eksempel hvor vi<br />

forestiller os et firma som ønsker at gemme konstante data på eet sted i en ’global’ datasamling:<br />

//Eksempel på abstrakt klasse til at gemme firmaets 'globale' data:<br />

using System;<br />

public abstract class Firma {<br />

public const string NAVN="Computer Her og Nu Aps";<br />

public const string ADRESSE="Storevej 44, 2000 Frederiksberg";<br />

public const string TELEFON="38 99 22 00";<br />

}<br />

class app<br />

{

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

Saved successfully!

Ooh no, something went wrong!