Begrepp

Description

2 C# Object Oriented Programming (Introduktion) Flashcards on Begrepp, created by Jenny Degling on 30/11/2013.
Jenny Degling
Flashcards by Jenny Degling, updated more than 1 year ago
Jenny Degling
Created by Jenny Degling over 10 years ago
123
0

Resource summary

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)
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
Show full summary Hide full summary

Similar

Introduktion
Jenny Degling
Kemibegrepp
Klaus Sörensen
Kraft
Carl-Johan
Datatyper, selektion och iteration
Jenny Degling
Frågor och svar
Jenny Degling
Arrays
Jenny Degling
Klasser
Jenny Degling
OUT & REF
Jenny Degling
Arv- virtual, abstract och override
Jenny Degling
Typomvandling
Jenny Degling
Felhantering
Jenny Degling