Hvad er Objekter - Programmering
|
|
|
- Hans Andersen
- 8 år siden
- Visninger:
Transkript
1 Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som ikke helt har forstået hvad objekter går ud på:) Skrevet den 05. Feb 2009 af kalp I kategorien Programmering / Java ARTIKEL ER HERMED GRATIS:) 27/5-05 På grund af personlige erfaringer med personer, som ikke har forstået begrebet "objekter" har jeg ladet mig inspirere til, at skrive denne artikel. Jeg mener selvfølgelig det er ret vigtigt, at have en forståelse for hvad objekter egentlig er, hvordan de andvendes og hvordan man laver objekter. Eksemplerne vil foregå i programmeringssproget Java, men er gældende for alle Objekt orienterede programmeringssprog vil jeg mene. Hvad er objekter så? I den fysiske verden er det storset alt omkring dig. Din computerskærm, bord, seng, bil, hus og hvad ved jeg er alle objekter! Alle disse genstande, ting eller som vi nu kalder det objekter kan hver især beskrives(defineres) ud fra nogen værdier. Det kan være navn, størrelse, vægt, hastighed alt afhængig hvad der er tale om. Spørgsmålet er mere bare hvordan man definere et fysisk objekt i sit programmeringssprog og hvordan man kan bruge det. For at tage udgangspunk i noget lad os prøve, at lave objekter af mennesker eller med andre ord personer. Jeg går ud fra du har forstået der er noget som hedder metoder, attributter og klasser hvor det sidste hænger godt sammen med objekter. Derfor opret en tom klasse og kald den for Person. Skriv følgende ind i klassen public Person() public Person() er ikke en metode, men en konstruktør. Konstruktøren bliver kun kaldt en gang og det er når objektet oprettes. Det mellem til konstruktøren er helt normalt kode, men typisk anvendes dette område til at initialisere de øverste attributter. Det kommer vi til. Først lad og definere hvad et menneske/person er. Vi kunne selvfølgelig gå helt ned i detaljer hvor vi nævner hvor mange øjne, arme og ben et menneske har, men vi skal holde det simpelt så vi tager kun de vigtigste egenskaber med. Dette er min beskrivelse af et menneske/person
2 En person har Et navn En alder Han/hun køn Har en højde Har en vægt Skal man overføre dette til computersprog må navn være en String, alder en int, han/hun køn en String, højde en int og vægt ligeledes en int. Indsæt disse i vores Person klasse så resultatet ville ligne dette. String navn; int alder; String koen; int hoejde; int vaegt; public Person() Indtil videre er vores Person klasse ikke specielt brugbar derfor må vi finde ud af hvilke værdier vores attributter skal have når man vil lave et person objekt. Eftersom alle som bliver født har en vægt, et køn og en højde men ikke nødvendigvis er blevet navngivet endnu vil vi vente med navngivning. Angående alderen sætter vi den automatisk til at være 0 og kan selvfølgelig ændres senere. For at intitialisere vores attributer skal vi have dem sat ind i vores konstruktør hvilket jeg forventer du godt ved hvordan gøres. Samlede resultat vil være dette. String navn; int alder; String koen; int hoejde; int vaegt; public Person(String nytnavn, String nytkoen, int nyhoejde, int nyvaegt) navn = nytnavn; koen = nytkoen; hoejde = nyhoejde; vaegt = nyvaegt;
3 husk på at variablerne i vores konstruktør ikke behøver være sigende.. Den fortæller bare hvilke type parametre den forventer og i hvilken rækkefølge. public Person(String nytnavn, String nytkoen, int nyhoejde, int nyvaegt) Vores attributter er ikke erklæret private som man normalt ville gøre, men det for at gøre det mere overskueligt jeg med vilje har undladt dette så egentlig kan vi godt tilgå attributterne ret let, men lad os nu forestille os det ikke er muligt og at det derfor er nødvendigt med metodekald. Vi starter med 2 metode kald.. et til at hente navn og et til at hente køn. Resultatet ville se nogenlunde sådan ud String navn; int alder; String koen; int hoejde; int vaegt; public Person(String nytnavn, String nytkoen, int nyhoejde, int nyvaegt) navn = nytnavn; koen = nytkoen; hoejde = nyhoejde; vaegt = nyvaegt; public String hentnavn() return navn; public String hentkoen() return koen; lad os da prøve at lave et objekt ud af vores klasse før vi arbejder videre! Opret en ny klasse... kald den evt for Main. Klassen kunne se sådan ud public class Main public Main() public static void main(string[] args)
4 Main main = new Main(); Nu gælder det lidt om at holde hovedet koldt og tænke tilbage på vores klasse, vores model, vores beskrivelse af hvad en person "er". Vi prøver først at oprette en enkelt person. Alt efter tegnene "//" i kode eksemplet herunder er kommentare fra mig til dig og har intet med koden at gøre! public class Main public Main() Person person = new Person("Hans", "Mand", 170, 70); //kig i vores person klasse.. i konstruktøren og lig mærke til rækkefølgen af vores parametre her public static void main(string[] args) Main main = new Main(); linjen her skal forstås på følgende måde Person person = new Person("Hans", "Mand", 170, 70); Person -> Den klasse vi vil lave et objekt af hvilket i dette tilfælde er den klasse vi selv har lavet:) person -> lig mærke til p'et er skrevet med småt.. (java skelner mellem store og små bogstaver) person står for reference.. det kan med andre ord forklares som at være en kopi af vores klasse Person. Vi går altså aldrig ind i vores Person klasse og piller ved attributterne der.. men vi laver en kopi af klassen og det er i KOPIEN vi ændre på attributterne.. Vores Person klasse er vores skabelon eller model, som definere hvad et Person objekt er. new Person("Hans", "Mand", 170, 70); -> new anvendes til at oprette et objekt og efter new har vi hvad der skal oprettes et nyt af lig mærke til vi har fat i konstruktøren som bliver fyldt op med de parametre vi har valgt skal fyldes ud ved dets oprettelse. Før vi går videre må vi lige sikre os du helt har forstået dette!! Et andet eksempel du sikkert selv har anvendt tit er String tekst; her fortæller vi at vi vil lave et kopir af String klassen og vores kopi skal hedde tekst. Det korrekte begreb er reference, men det lettere at sætte sig ind i når man ser på det som kopirer:) String klassen er opbygget på samme måde som vores Person klasse.. der er intet hokus pokus over den.
5 men lad os da gå videre! Vi har nu oprettet en enkelt person.. han hedder Hans og er en mand. Hvis vi vil have fat i Hans ved vi at alle informationer af ham ligger gemt i person. For at gøre det tydeligt at hans ikke er gemt i vores Person klasse men i vores kopi person opretter vi lige endnu et objekt.. altså en kopir af vores Person klasse. public class Main public Main() Person person = new Person("Hans", "Mand", 170, 70); Person person2 = new Person("Tanja", "Kvinde", 166, 49); public static void main(string[] args) Main main = new Main(); Nu har vi oprettet endnu et objekt! Denne gang hedder vores kopi person2 og i denne kopi ligger alt information om Tanja gemt. Det er kun fordi vi laver kopirer at Tanja ikke overskriver Hans'es værdier! For objektet person og person2 er kopirer af Person klassen og har derfor hver især deres egne navn = nytnavn; koen = nytkoen; hoejde = nyhoejde; vaegt = nyvaegt; Vores personer mangler dog stadig en del egenskaber.. de mangler for eksempel at have en alder! så lad os hoppe tilbage til vores Person klasse og sørge for man kan give dem en alder. Til dette skal vi lave en metode. String navn; int alder; String koen; int hoejde; int vaegt; public Person(String nytnavn, String nytkoen, int nyhoejde, int nyvaegt) navn = nytnavn; koen = nytkoen; hoejde = nyhoejde; vaegt = nyvaegt;
6 public String hentnavn() return navn; public String hentkoen() return koen; public void nyalder(int al) alder = al; public void fodselsdag() alder++; Du har sikkert lagt mærke til der er kommet 2 metoder på... denne metode public void fodselsdag() alder++; den er meget praktisk hvis en person fylder år.. Istedet for at man skal ind og sætte en ny alder på en person ved at metoden nyalder(int al) som er lidt besværlig for den kræver man ved hvor gammel personen er og husker at forøge alderen med et år. Det lettere med fodselsdag() som bare går ind og forøger alderen med 1. Vi tester vores nye metoder. public class Main public Main() Person person = new Person("Hans", "Mand", 170, 70); Person person2 = new Person("Tanja", "Kvinde", 166, 49); person.nyalder(24); person2.nyalder(21); // Tanja har fødselsdag i dag person2.fodselsdag();
7 public static void main(string[] args) Main main = new Main(); Vi giver først begge personer en alder... efterfølgende har person2 fødselsdag så vi gå lige ind og sætter alderen op der. Prøv selv at lave det sidste med højde og det hvad der ellers er tilbage:) Det gælder altså om at forestille sig at man har en masse skabeloner til rådighed! Det er op til dig at finde de interessante skabeloner, som du kan lave kopirer af så du kan manipulere med dem. ArrayList nyliste = new ArrayList(); nyliste er nu en kopir af ArrayList.. du kan slå ArrayList op som også er bare er en klasse og se hvad den kan.. hvilke metoder den har osv. JFrame frame; En reference til et JFrame objekt.. igen JFrame er også bare en skabelon! Vores kopi af denne skabelon er frame.. Håber det gav lidt mening alt det her:) Hvis du bare blev endnu mere tosset oven i hovedet så fratager jeg mig alt ansvar;o) ej.. i/du er velkommen til at spørge løs... Til de mere garvede brugere som evt har læst dette.. husk på min mening med det her er bare at forklare folk hvad objekter er så det bare står lidt klarere for dem:) Jeg VED at nybegyndere ikke fatter hat af hvad objekter er og det er lidt af et handikap! Ps. Hvis du kunne lide og fik noget ud af denne forklaring på objekter og kunne tænke dig en lignende forklaring på noget andet smid da en kommentar så skal jeg kigge på det. Kommentar af milo d. 28. Jan Lækkert Kommentar af tbirch d. 09. Jun Meget informativt og klart. Vh Thomas Birch Kommentar af riversen d. 23. Jan Fint og udemærket initiativ, som jeg dog synes har et par fejl og mangler, som jeg synes man bør nævne for at sikre forståelsen. 1. nyliste og frame er ikke kopier men objekter der bygger på klasserne efter "new". 2. Eller rettere: nyliste og frame er jo faktisk referencer til objekter af de 2 typer. Denne detalje har jo en del at sige ved sammenligning af objekter og er en del af den rigtige forståelse. Kommentar af konder d. 27. Jan Du skal ha mange tak for forklaringen.
8 Kommentar af avj d. 16. Feb Kommentar af cronck d. 24. Jan Kommentar af webcreator d. 23. Jan En god forklaring på hvad objekter er og hvordan de bruges Kommentar af gladmhensk d. 30. Jan Smukt forklaret, og så er det rart du holder det på et simpelt plan. Bedste forklaring af objekter jeg nogensinde har læst (har læst mange ;)) Kommentar af htmlkongen d. 31. Jan Tak for ny viden :) Til andre ---> Fint sted at starte - Jeg fik noget ud af det trods jeg vidste intet om det i forvejen... :) /Htmlkongen Kommentar af visualdeveloper d. 01. Nov noget om nedarving ville være godt synes jeg ;) Kommentar af andr3as d. 23. Jan :) meget godt, beskrivelserne og alt Kommentar af alister_crowley d. 23. Jan Og som nybegynder vil jeg sige at den giver en rigtig god gennemgang, specielt mht. de advancerede ord (objeter,konstruktor,osv) som bliver brugt i svar forslag når man stiller spørgsmål. Et absolut must for enhver begynder. Men der er også lidt forslag til en forbedring, da det ville være relavant at indrage interfaces i denne artikel vil jeg mene. Kommentar af schwarz84 d. 22. Jun nyliste er jo netop _ikke_ en klasse, men et objekt (en instans af klassen ArrayList). Når din artikel hedder "Hvad er Ojekter" så skal den være lidt skarpere her. Det hjælper nok ikke en begynders forståelse at kalde klassen Person og objektet person. Hvorfor ikke kalde objektet "peter" eller "poul" eller noget andet så det er tydeligt at der er tale om en konkret person (objekt) og ikke begrebet person (klasse). Du gør det samme senere ved at du opretter et object main ud fra klassen Main i metoden main. Du bytter også rundt på variabler og klasser. "String tekst;" giver dig en variabel af typen String, som ikke er initialiseret (det peger altså _ikke_ på et objekt). Der er altså endnu ikke oprettet en reference til et objekt og det er direkte forkert at tale om at en uinitialiseret variabel er en kopi af klassen. Generelt er det instanser, du lavet, når du bruger "new", det er ikke kopier. Din kode ville være mere læsbar hvis den var indenteret.
Anvendelse af metoder - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur
//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter
RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).
Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer
Database design for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter
Singleton pattern i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.
Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:
Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til [email protected]. Besvarelsen skal
Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW.
Denne guide er oprindeligt udgivet på Eksperten.dk CSS - en gennemgang Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW. Der er lidt CSS historie
Ekstra hastighed med array's i Excel-VBA
Denne guide er oprindeligt udgivet på Eksperten.dk Ekstra hastighed med array's i Excel-VBA Brugen af arrays til indlæsning af og skrivning til celler i Excel kan give betragtelige hastighedsforøgelser
Bits, bit operationer, integers og floating point
Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter
Tree klassen fra sidste forelæsning
Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years
Om binære søgetræer i Java
Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret
Sådan skriver du artikler til Eksperten!
Denne guide er oprindeligt udgivet på Eksperten.dk Sådan skriver du artikler til Eksperten! Når du skriver artikler handler det om at få den ud til de rigtige personer, og vise den frem så den er let forståelig.
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Ugeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
Undtagelseshåndtering i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Undtagelseshåndtering i C# I modsætning til C++ kan man i C# ikke skrive et program uden undtagelseshåndtering, så derfor har jeg skrevet denne guide
I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.
Denne guide er oprindeligt udgivet på Eksperten.dk Afrund til helt tal I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Skrevet den 03. Feb 2009 af tjomsen I kategorien
University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.
Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19
Løsning af møntproblemet
Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet
Test af It-komponent
Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side
University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11
DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void
DM502. Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/
DM502 Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!
5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN
5. OPSÆTNING DOKUMENTSKABELONER Under fanen Dok. skabeloner kan du arbejde med de skabeloner som du har i systemet, eller du kan oprette nye. I denne vejledning kigger vi på hvordan du kan tilrette selve
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Introduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
METODER ARV KLASSER. Grundlæggende programmering Lektion 5
METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX
IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning
DANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
Tips til siden Slægtstræ
Tips til siden Slægtstræ Indholdsfortegnelse Indledning 1 Kom godt i gang 1 Kildecitater og links til online arkivalier: 5 Familier 9 Export, import og backup: 10 Folketællinger: 10 Om noter og rapporter
Dokumentation af programmering i Python 2.75
Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt
Virkefeltsregler i Java
Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten
Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss
Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003 Jonas Christiansen Voss 2. marts 2004 Indhold 1 CD ere 2 1.1 Brænde dokumenter til CD....................... 2 1.2 Disk Copy.................................
PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;
PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;
SWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
Delphi og Databaser for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Delphi og Databaser for begyndere Denne artikel handler om hvordan man udnytter noget af det bedste i Delphi: Dets gode muligheder for integrering med
Tagwall med Php & MySQL
Denne guide er oprindeligt udgivet på Eksperten.dk Tagwall med Php & MySQL Her laver vi en tagwall i Php & MySQL... jeg forklarer dog ikke så meget, men jeg håber du kan få det til at blive til en tagwall
Python 3 kursus lektion 1:
Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan
Lav dine egne hjemmesider/websider
Sider, der skal publiceres på World Wide Web, laves i et særligt format, html, som fortæller browseren, hvordan den skal vise tekst og billeder. Html (Hypertext markup language) er meget fleksibelt og
Mozilla Firefox (tidligere Firebird): Fremhæve ord
Denne guide er oprindeligt udgivet på Eksperten.dk Mozilla Firefox (tidligere Firebird): Fremhæve ord Du kender sikkert Google Værktøjslinjen til Internet Explorer, ellers har du sikkert hørt om den. I
