Created by Jenny Degling
almost 11 years ago
|
||
Question | Answer |
klassdeklaration | Ett påstående som skapar en ny klass. Innehåller: En valfri åtkomstmodifierare. Nyckelordet "class". Ett lagligt namn (oftast substantiv i singular). |
metoddeklaration | Metoddeklarationen definierar reglerna för hur metoden ska användas. Innehåller: Valfri deklarerad åtkomst. Valfri "static" modifierare. Returtypen för metoden. Metodens namn Parantes som kan innehålla valfri/a parameter/rar. |
metodsignatur | En metodssignatur definierar hur metoden kan anropas, dess parametrar och vad som returners. Som ett kontrakt som bestämmer vad metoder får och kan göras. Består av metodens namn och parameterlistan. |
parameter & argument | Argument: information om vilken information en metod behöver för att kunna utföra sin uppgift. (Formell parameter: parameter i metodrubriken som accepterar ett värde. Parameter till en metod: variabel som håller den data som skickas till metoden när den anropas. |
Metod | inkapslade påstående som utför en uppgift |
variabel | En namngiven plats i dataminnet som kan hålla olika värden vid olika tillfällen. |
tilldelning | att ge variabeln ett värde. "=" är tilldelningsoperatorn och tilldelningen sker från höger till vänster |
datatyp | Beskriver formatet och storleken av ett dataobjekt och definierar vad objektet kan utföra. |
literal | värde som tas, bokstavligen, vid varje användning |
konstant | Dataobjekt som har ett bestämt värde ("unmutable") |
enums | Set av konstanter som hör samman och representeras av identifierare. Exempel: enum DayOfWeekend { saturday, sunday } Bygger på en underliggande int så saturday är då 0 och sunday 1 |
selektion | Exempel: switch- och if - satser. Används när det finns flera möjliga utfall och man vill bestämma villkor med relationsoperatorer eller logiska operatorer |
iteration | Att upprepa ett kodblock flera gånger. Kan antingen ske ett givet antal gånger (for) eller sålänge något är sant (while) |
kompilering | När man kompilerar C# blir källkoden översatt till mellanliggande språk. JIT kompilartorn tolkar/konverterar språkets instruktioner till maskinkod så att det skapas "output" alltså resultatet av det körda programmet |
primitiva datatyper | Datatyper som programmeringsspråket tillhandahåller direkt. Ex i C#: booleska typer, int, float, bool & char |
Logiska fel | Mänskliga fel - när man designar lösningen felaktigt. Alltså ett semantiskt fel - det löser inte problemet som man har tänkt |
Kompileringsfel | Fel som gör att kompileringen inte kan slutföras för den givna källkoden. Inkluderar syntaxfel (som att inte stänga en parantes) och även typtestning (att en string tilldelas en variabel av typen int) |
Exekveringsfel | Fel som uppstår när vi kör programmet |
syntax | hur språket ska formuleras: sammansättningen av uttryck med reserverade nyckelord |
semantik | Hur ett program tolkas vilket utförs under programexekveringen |
källkod | Den kod vi skriver och som sedan behöver översättas till maskinkod för att kunna köras |
programmeringsparadigmer | finns olika programmeringsparadigmer: procedurella/imperativa språk, objektorienterade språk och deklarativa språk |
procedurella språk | Logiken och data är separerat. Programmet utgör en sekvens av instruktioner |
Objektorienterad programmering | En vidareutveckling av strukturerad programmering Programlogiken och data är kombinerat Objekt som enkapsulerar logiken & data Ett objekt är ansvarigt för sitt eget beteende vilket underlättar återanvänding av programkod |
Deklarativ programmering | Beskriver förhållandet mellan input och output. Problemlösning! Programmering med godtyckliga relation kallas logikprogrammering Programmering med funktioner kallas funktionell programmering Repetition åstadkommes uteslutaden genom rekursion inom deklarativ programmering |
instansiering | Att skapa ett objekt från en klass. Görs med nyckelordet "new" |
instansvariabel | Variabler med data i en klass. Deklareras i början av klassen. Den generella principen är att inte ha publika instansvariabler då det ger direkt tillgång till ett objekts data. |
egenskap | En medlem av en klass. En egenskap definierar hur fälten bestäms och vad de returnerar. Det gör att data skyddas från att ändras utifrån |
konstruktor | En speciell metod i en klass vars ansvar är att initiera (skapa) ett objekt. Returnerar referensen till objeketet. Exempel: "Definiera en konstruktor som initierar instansvariabeln" class Player{ private string nickname; public Player (string name){ nickname=name; } } |
abstraktion | En teknik för att identifiera vilka objekt som behövs för implementationen av ett program |
inkapsling | gruppera data och metoder som hör tillsammans och att ge dem begränsad åtkomst för att gömma detaljer om implementationen |
överlagrade metoder | när man deklarerar olika metodsignaturer för samma metodnamn. |
överlagrade konstruktorer | när man skapar flera olika konstruktorer som tar olika argument. Det går att återanvända konstruktorer geom att använda : this() |
klasser | en implementation av en abstraktion, kan jämföras med en ritning |
objekt | En specifik instans av en klass, har attribut och beteenden(metoder) |
arv | Möjliggör att samla gemensam funktionalitet i en klass och låta andra klasser ärva funktionaliteten genom denna klass. En klass kan enbart ärva från en enda klass. Definierar en "is-a" relation (a cat is a animal) |
polymorfi | "Ifall Cat är en subklass till Animal då ska objekt av typen Animal kunna bli ersatta av objekt av typen Cat" En teknik där en gemensam metodsignatur implementeras olika i barnklasser. |
superklass | en klass som andra klasser ärver av |
barnklass | en klass som ärver av en annan klass |
override | Ett nyckelord som används för att beteckna att en metod omdefinierar en virtuell eller abstrakt metod |
virtual | ett nyckelord som låter oss markera en metod som omdefinierbar (att den kan anta ett annat beteende i en barnklass) En metod som innehåller virtual har ett grundbeteende i superklassen. |
abstract | Ett nyckelord som gör en metod omdefinierbar (kan anta ett annat beteende i en barnklass). Metoder deklarerade som abstract har ingen implementation i superklassen och MÅSTE definieras i barnklasserna. För att ha en abstrakt metod måste hela klassen deklareras som abstract. Abstrakta klasser går inte att instansiera. |
implicit typomvandling | Sker från subklass till superklass: Fungerar alltid! En subklass kan anta alla värden (och fler), alltså göra allt som en superklass kan. |
explicit typomvandling | Från superklass till barnklass - fungerar inte alltid. Om en explicit typomvandling inte lyckas så kastas det ett exception. Kan göras både med Lion lion = (Lion)animal; och Lion lion = animal as Lion; |
konvertering | Processen att försöka omvandla ett objekt av en datatyp som inte har en relation till måldatatypen. Exempel: string --> int |
inkrementering | ++ ökar med 1 -- minskar med 1 |
räckvidd & åtkomst | Variabler har räckvidd i de kodblock som de är deklarerade i (block scope) Åtkomsten definieras med åtkomstoperatorerna public, private och protected. Generell princip är att ha privata (eller protected) instansvariabler och publika metoder. |
värdetyper | En av de två olika datatyper som finns och består av de primitiva datatyperna och enums. Värdetyper håller ett värde och lagras i stacken. |
referenstyper | En av de två olika datatyperna som finns, alla de klasser som vi definierar själva är referenstyper. Referenstyper håller en minnesadress, alltså dess del av minnet på stacken håller en referens till en "adress" på heapen. Vid tilldelning så kopieras referensen från datatyp till datatyp så att de får samma referens och pekar på samma objekt. |
statiska klasser | Kan enbart ha statiska metoder, egenskaper, variabler och konstanter. |
statiska metoder | För statiska medlemmar så behövs inget objekt utan anropas med Klassnamn.Medlemsnamn. "Static" används för att definiera att en medlem tillhör klassen och inte till instanser av klassen. Statiska metoder kan enbart använda statiska variabler och konstanter. Man kan göra ett implicit anrop (som inte innehåller klassnamnet: Main();) eller ett explicit anrop (Program.Main();) |
komposition (composition) | Tekniken för att använda ett objekt inom ett annat objekt (boken). / Tekniken då vi använder en datatyp i representation av en annan datatyp (föreläsning). |
algoritm | En strategi för att lösa ett givet problem, en sekvens av instruktioner som löser problemet där varje steg utgör en instruktion. För samma indata ska samma utdata genereras. |
pseudokod | Ett sätt att uttrycka en algortim. En beskrivning av programmets kod i naturligt språk eller mer abstrakt språk än programmeringsspråket. |
aritmetiska operatorer | De operatorer som används för att göra matematiska beräkningar. Addition (+) subtraktion (-), multiplikation (*), division (7), modulo (%) Kom ihåg precedence, att multiplikation, division och modulo binder starkare! |
logiska operatorer | Består av: och (&&) eller (||) negation(!) Används ofta för att sätta olika villkor. |
relationsoperatorer (jämförelseoperatorer) | Består av: större än(>) mindre än(<) lika med (==) skilt från (!=) mindre än eller lika med (<=) större än eller lika med (>=). |
klassdiagram | Diagram som visar förhållanden mellan superklasser och subklasser |
exekvering | När programmet körs säger vi att det exekveras. |
"this" | Ett nyckelord som refererar till det objekt vars kod exekveras för tillfället. |
constructor chaining (återanvända andra konstruktorer) |
Image:
Namnlo_st (image/png)
|
base | Ett nyckelord som används för att få åtkomst till medlemmar från superklassen. Används bara vid explicita anrop till konstruktorer: public Manager(string name, decimal salary) : base (name, salary) { } och när barnklassen omdefinierar (override) en metod och man vill komma åt den ursprungliga metoden i superklassen: base.CalculatePrice(); |
variabeldeklaration | Ett påstående som namnger variabeln och reserverar minnesplats för variabeln. Innehåller: Datatypen, namn, valfritt tilldelat värde. |
interface | en beskrivning på de egenskaper och metoder som en klass som implementerar interfacet måste tillhandahålla samt signaturerna för dessa |
klasshierarki | Visar hur klasser ärver av varandra i flera led, ungefär som ett släktträd |
typomvandling | omvandlar en variabel till en annan datatyp, om så är möjligt |
instans | Ett objekt av en viss klass. Att skapa en instans av en klass betyder att man skapar ett objekt av klassen. |
automatisk egenskap | En egenskap som implementeras automatiskt av kompilatorn och är praktisk om man bara ska sätta och läsa av en variabel. Exempel: puplic string Namn {get; set;}. Brukar dock sätta set; som private |
Want to create your own Flashcards for free with GoConqr? Learn more.